《自然语言处理技术》——实训20 基于PaddleSpeech实现新闻自动播报.docx
-
资源ID:1371528
资源大小:113.81KB
全文页数:16页
- 资源格式: DOCX
下载积分:5金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
《自然语言处理技术》——实训20 基于PaddleSpeech实现新闻自动播报.docx
目录项目8基于PaddleSpeech实现新闻自动播报11 实训目标12 实训环境13 实训说明14 实训步骤44.1 文本前端处理44.2 合成声学模型74.3 声码器合成94.4 结果评测115 实训小结14项目8基于PaddleSpeech实现新闻自动播报1实训目标(1) 掌握通过PaddleSpeech中的Frontend类进行文本前端处理。(2) 掌握通过调用PaddleSpeech中的FastSpeech2类构建声学模型,并加载预训练模型参数。(3) 掌握使用PaddleSpeech中的PWGGenerator类构建ParallelWaveGAN声码器。(4) 熟练掌握语音合成结果的播放与保存方法。(5) 能够对生成语音结果的准确率进行测试。2实训环境环境版本说明Windows1064电脑操作系统Python3.8.5Python语言版本pandas1.3.0主要用于数据读取、清洗等操作NumPy1.21.6主要用于Python中的数值计算jieba0.42.1主要用于文本分词Gensim4.2.0主要用于检索文本、计算文本相似度、训练词向量、建模主题等Matplotlib3.3.0主要用于数据可视化PaddlePaddle2.4.2是一个深度学习框架,提供了高效的计算框架和优化算法PaddleSpeech1.2.0主要用于语音和音频中的各种关键任务的开发scikit-learn1.0.2广泛地用于统计分析和机器学习建模等数据科学领域Librosa0.8.1主要用于分析一般的音频信号,是一个非常强大的Python语音信号处理的第三方库NETK3.5是一个常用的自然语言处理工具包,可用于文本处理、语义分析、词性标注等SciPy1.7.3是一个科学计算工具包,可用于数学、科学、工程学等领域pyttsx32.9.0主要用于将文本转换成语音3实训说明近年来,人工智能领域的快速发展带动了各类行业的变革。特别是深度学习技术的进步,为语音合成技术提供了新的突破口。在智能音箱、语音助手、无障碍服务、在线教育等领域,语音合成技术得到了广泛的应用。高质量、自然的合成语音不仅能够帮助人们更好地与计算机进行交流,还能够降低信息获取的难度,提高用户体验。随着信息技术的不断发展和普及,新闻媒体行业也在不断创新和变革。传统的新闻报道方式已经无法满足人们的需求,新闻自动播报技术应运而生,深入实施创新驱动发展战略。新闻自动播报是指利用人工智能技术和语音合成技术,将新闻文本自动转换为语音信号,并通过音频设备自动播放出来的一种新型新闻播报方式。例如,每日经济新闻推出每经AI电视,运用Al虚拟主播生成驱动、AI文本及视频生成等多项人工智能技术,支持多景别、多姿态、多场景的应用,可进行汉语、英语等多语种的播报。本项目基于CSMSC(ChineseStandardMandarinSpeechCorpus)数据集进行语音合成,CSMSC是一个中文普通话语音数据集,它由财经媒体的播报员录制而成,具有较高的音质和准确度。数据集包括大约100小时的录音,涵盖了10000多个句子,以及相应的拼音和汉字文本。CSMSC数据集可用于训练和评估各种中文语音合成(TTS)和语音识别(ASR)系统。CSMSC数据集的特点如下。(1)专业播报员录制。由于数据集是由专业播报员录制的,所以具有较高的语音质量,适合用于训练高质量的语音合成系统。(2)多样化文本内容。CSMSC数据集包含了各种主题和领域的文本,有助于训练出更具泛化能力的模型。(3)数据标签。数据集包含拼音和汉字文本,便于训练和评估各种基于拼音或汉字的语音合成和语音识别模型。(4)开源可用。CSMSC数据集已经开源,对学术研究和商业应用具有较高的价值。总之,CSMSC数据集是一个有价值的中文普通话语音数据集,适用于训练和评估各种中文TTS和ASR系统,部分内容如图8-1所示。0001.w000002.w0003.w0004.wOOOOO5.w0006.w07.w08.w09.w0010.w0011.w0012.wOOOol3.w0014.wavavavavavavavavavavavavavav0OOOoI5.wavO000016.wavO000017.wavO0018.wavOOOoOlg.wavO000020.wavO000021.wavOOoOO22MavOOO23.wavO0024.wavO000025.wavO000026.wavO0027.wavOOooO2&wavOOOOOOGOOOO00O000029.w0030.w0031.w0032.wOO33.w000034.wOOOO35.wOoOo36.wOO37.w0038.w000039.w000040.w41.w0042.wavavavavavavavavavVavavavavOOOOO0O0OOOOOO000043.w000044.w000045.wOOoO46WOoOo47W000048.w000049.w0050.w0051.wOOoO52wOOOO53.w000054.wOoOo55.w0056.wavavavavavavavavavavavavavavOOOOOOOOOOOOOO0057.w000058.w0059.w0060.w61.w000062.w000063.w000064.w0065.w0066.w000067.w000068.w69.w0070.wavavavavavavavavavavavavavavO0OOOOOOOOOOOO00007Lw000072.w0073.w0074.w75.w0076.w000077.w78.w0079.w80.w000081.w0082.wOOOo83.w0084.wavavavavavavavavavavavavavav图8-1CSMSC数据集(部分)通常情况下,新闻自动播报主要分为以下3个阶段。(1)构造文本前端:构造文本前端对象,将输入的文本序列转换为音素序列,为声学模型的输入提供语音特征表示。(2)合成声学模型:基于PaddlePaddIe搭建一个声学模型FaStSPeeCh2,用于将处理过的文本转换为音频信号的中间表示,如梅尔频谱图。(3)合成声码器:使用声码器ParaneIWaVeGAN,将声学模型生成的中间表示转换为最终的音频信号,实现高质量的语音合成。本项目将介绍基于PaddleSpeech实现新闻自动播报的基本流程,该流程与通用流程存在一定差异,主要包括文本前端处理、合成声学模型、声码器合成和结果评测等。基于PaddleSpeech的新闻自动播报基本流程如图8-2所示,基本步骤如下。4实训步骤4.1文本前端处理文本前端模块主要包括分段、文本正则化、分词(主要用于中文)、词性标注、韵律预测、字音转换、多音字处理、变调以及方言等处理。在该模块中,文本正则化和字音转换(通常在TTS中用G2P表示)是非常关键的部分,在输入声学模型之前,还需将音素序列转换为IDo本任务的处理流程如图8-3所示。;构建文本前端文本正则化文本前端-模块字音转换图8-3文本前端模块处理流程文本前端模块的设计需要结合很多专业的语义学知识和经验。人类在读文本的时候可以自然而然地读出正确的发音,但这一些先验知识计算机并不知晓。例如,对于一个句子进行分词,如表8-1所示。表8-1句子的分词原始句子句子分词我也想过过过儿过过的生活我也想/过过/过儿/过过的/生活货拉拉拉不拉拉布拉多货拉拉/拉不拉/拉布拉多南京市长江大桥南京市/长江大桥在构建文本前端对象之前,需要导入相应的库,并设置预训练模型的路径,如代码8-1所示。代码8-1导入相应的库并设置预训练模型!pipinstallpaddlespeech!wget-Pdownloadhttps:PaddleSPeeCh.bj上CeboS.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip!unzip-o-ddownloaddownload/pwg_baker_ckpt_0.4.zip!wget-Pdownloadhttps:PaddIeSPeeCh.bj上CebOS.com/Parakeet/released_models/fastspeech2/fastspeech2_nosiLbaker_ckpt_0.4.ziP!unzip-o-ddownloaddownload/fastspeech2_nosil_baker_ckpt_0.4.zip!wget!tarzxvfnltk_data.tar.gzimportargparse#导入argparse库,用于解析命令行参数importos#导入C)S库,用于处理文件和目录路径frompathlibimportPath#导入Path类,用于处理文件系统路径importIPython.displayasdp#导入IPython.display模块,用于在JupyterNotebook中显示音频和图像importmatplotlib.pyplotaspit#导入matplotlib.pyplot模块,用于绘制图像importnumpyasnp#导入NumPy库,用于进行数值计算importpaddle#导入Paddle库,用于构建和训练深度学习模型importsoundfileassf#导入soundfile库,用于读取和写入音频文件importyaml#导入yaml库,用于处理YAML格式的配置文件frompaddlespeech.t2s.frontend.zh_frontendimportFrontend#导入PaddleSpeech中文前端处理类frompaddlespeech.t2s.models.fastspeech2importFastSpeech2#导入PaddleSpeech中的FastSpeech2声学模型类frompaddlespeech.t2s.models.fastspeech2importFastSpeechZInference#导入PaddleS