论文分享 | MnTTS2: 开源的多说话人蒙古语TTS数据集

news2024/12/24 2:35:14

本次分享内蒙古大学蒙古文信息处理重点实验室、蒙古文智能信息处理技术国家地方联合工程研究中心及语音理解与生成实验室 (S2LAB) 共同发布的开源多说话人蒙古语语音合成数据集及其基线模型。相关论文《MnTTS2: An Open-Source Multi-Speaker Mongolian Text-to-Speech Synthesis Dataset》发表于2022年人机语音通讯学术会议NCMMSC‘2022。

论文地址:

https://arxiv.org/abs/2301.00657

代码仓库:

https://github.com/AI-S2-Lab/MnTTS2

0 摘要

低资源语言的文本到语音(TTS)合成是当今学术界和工业界的一个有吸引力的研究课题。蒙古语是内蒙古自治区的官方语言,也是全世界1000多万人使用的、具有代表性的低资源语言。然而,蒙古语TTS相对缺乏开源数据集。因此,为了服务于相关研究人员,我们公开了一个名为MnTTS2的开源多说话人蒙古语TTS数据集。在这项工作中,我们准备了各种主题的语音转录,并邀请了三位专业的蒙古语播音员来制作一个三个说话人的TTS数据集,其中每个播音员用蒙古语录制10小时的语音数据,总共30小时。此外,我们基于最先进的FastSpeech2模型和HiFi-GAN声码器构建了基线系统。实验结果表明,构建的MnTTS2数据集足以为现实世界应用构建鲁棒的多说话人TTS模型。

MnTTS2数据集、训练流程和预训练模型发布于:

https://github.com/ssmlkl/MnTTS2

1 引言

文本到语音(TTS)旨在将输入文本转换为类人语音。它是人机交互中的标准技术,如手机语音助手、汽车导航、智能音箱等。语音合成领域近年来发展迅速,与使用级联、基于统计建模的方法合成语音的传统方法不同,神经网络的端到端TTS模型在编码器-解码器架构的帮助下实现了显著的性能。其中较为典型的模型包括Tacotron、Tacotron2、Transformer TTS、Deep Voice等。为了进一步加速推理过程,人们提出了非自回归TTS模型,如FastSpeech,FastSpech2(s)等,并且这些模型成为了TTS的主流方法。值得注意的是,基于神经网络的声码器,包括WaveNet、WaveRNN、MelGAN、HiFi-GAN等TTS模型可以合成与人类声音相当的语音。

我们注意到,上述神经网络TTS模型快速发展的一个重要因素是大规模语料库资源。对于英语和普通话等在世界范围内广泛使用的语言来说尤其如此。然而,由于语料库收集的困难,诸如蒙古语等低资源语言在相关研究中进展缓慢。因此,构建一个大规模、高质量的蒙古语TTS数据集是必要的。此外,我们的实验室先前公开了一个名为MnTTS的单说话人数据集,该数据集由一位年轻的、母语为蒙古语的女性录制,并在发布后受到了学术界和业界的广泛关注。这也表明了继续收集和组织蒙古语语音合成数据集并开源基线模型源代码的必要性。

基于此,本文提出了一个名为MnTTS2的多说话人蒙古语TTS数据集,该数据集将说话者的数量增加到三个,并将数据大小从8小时增加到30小时,每个说话者平均10小时。文本内容在该领域得到了进一步扩展和丰富。与我们的MnTTS类似,MnTTS2数据集可供学术界和行业从业者免费使用。

最后,为了证明MnTTS2的可靠性,我们结合了最先进的FastSpeech2模型和HiFi-GAN声码器,为MnTTS2建立了基线模型。我们进行了听力实验,并分别评估了自然度、说话人相似性方面的自然度平均意见得分(N-MOS)和说话人相似度平均意见评分(SS-MOS)结果。实验结果表明,我们的系统可以在MnTTS2上获得令人满意的性能,这表明MnTTS2语料库是实用的,可以用于构建鲁棒的多说话人TTS系统。

我们的主要贡献如下。1) 我们开发了一个多说话人TTS数据集,称为MnTTS2,包含三个说话者。总音频持续时间约为30小时。转录的文本涵盖了各种领域,如体育和文化等。2)我们使用最先进的非自回归FastSpeech2模型来构建基线模型并验证了我们的MnTTS2。3)MnTTS2数据集、源代码和预训练模型将向学术界和行业从业者公开。

本文的其余部分组织如下。在第2节中,我们回顾了蒙古语TTS语料库的相关工作。在第3节中,我们介绍了MnTTS2的细节,包括语料库结构和统计信息。第4节解释并讨论了实验设置和实验结果。第5节讨论了蒙古语语音合成面临的挑战和未来的研究方向。第6节总结了本文的工作和研究。

2 相关工作

对于英语和普通话等主流语言,有许多免费和公开的TTS数据集。例如,LJSpeech是英语的单说话人数据集。为了丰富说话人的多样性,他们又发布了一些多说话人TTS数据集,如英语的Libritts和汉语的AiShell。

对于蒙古语等低资源语言,可用资源非常有限。我们注意到,一些人尝试使用无监督学习、半监督学习和迁移学习等方法来提高低资源数据下TTS合成的效果。然而,由于缺乏大规模的训练数据,所有提到的方法都难以达到满足实际场景要求的效果。

为了促进蒙古语TTS的发展,一些工作构建了自己的蒙古语TTS语料库,并设计了各种模型,取得了良好的效果。例如,Huang等人建立了第一个情绪可控的蒙古语TTS系统,并通过迁移学习和情绪嵌入实现了八种情绪嵌入。刘瑞等人介绍了一种将蒙古语单词分割成词干和后缀的新方法,这大大提高了蒙古语韵律短语预测系统的性能。紧接着,刘瑞又提出了一种基于DNN的蒙古语语音合成系统,其性能优于传统的HMM。此外,他引入了双向长期记忆(BiLSTM)模型,以改进传统语音合成系统中的韵律预测模块,使其更适用于蒙古语。不幸的是,上述作品中的蒙古文TTS数据集均未公开发布,也未直接向公众提供。我们还发现,一些相关领域的数据集,如用于蒙古语语音识别的M2ASR-MONGO最近已公开。然而,由于环境噪声和说话风格不当等问题,语音识别语料库不能应用于TTS领域。

我们之前发布了单说话人蒙古语语音数据集,称为MnTTS。MnTTS的总时长为8小时,由一位专业的蒙古本地女播音员在录音室录制。然而,音频时长和说话人的多样性仍需进一步扩充。总之,有必要构建一个高质量的多说话人蒙古语TTS数据集,以进一步促进蒙古语TTS研究,这是本文的重点。

我们将在下一小节介绍MnTTS2的详细信息。

3 MnTTS2数据集

在本节中,我们首先简要回顾MnTTS数据集,然后通过突出显示扩展内容来介绍我们的MnTTS2。

3.1 MnTTS

在初步工作中,我们提出了一个高质量的单说话人蒙古语TTS数据集,称为MnTTS。数据集的转录来自许多主题,如政治、体育、文化等。然后将蒙古语脚本转换为拉丁语序列,尽可能多的避免错误编码问题。一位专业的蒙古母语女播音员被邀请录制所有音频。一位蒙古语母语志愿者应邀检查并重新校准出现的错误。去除了包含环境噪声和发音错误的音频,以确保整体质量。

MnTTS一经发布就受到了同行业研究人员的广泛关注。此外,该数据集的子集还用于NCMMSC2022的低资源情景下的蒙古语TTS挑战。组织者为所有参与者提供了2小时的数据,以训练他们的模型。这项比赛还促进了中国少数民族语言智能信息处理的发展。

3.2 MnTTS2

MnTTS2的建设流程包括“文本收集和整理”、“文本预处理”和“录音和音频文本对齐”。我们将按顺序介绍它们,然后报告语料库结构和统计数据。

文本收集和整理:与MnTTS类似,构建MnTTS2数据集的第一步是收集大量要转录的文本。收集这种文本材料的自然想法是从网站和电子书中抓取文本信息。文本主题应尽可能涵盖人们日常使用场景。接下来,我们抓取了23801个句子,这些句子内容丰富,主题广泛(例如,政治、文化、经济、体育等),以很好地满足我们的要求。同时,我们手动过滤并删除了一些内容不合适的文本,这些文本可能涉及敏感的政治问题、宗教问题或色情内容。删除这些内容的目的是希望我们的数据集能够为蒙古语的发展做出积极贡献,这是我们工作的初衷。

文本预处理:与主流语言(如普通话和英语)相比,传统蒙古语具有凝集特征。这使得蒙古字母在不同的语境中表达出不同的风格,并带来了严重的谐音现象。为了解决这个问题,我们将文本转换为拉丁字母用于TTS训练,而不是传统的蒙古语表示。将蒙古语文本转换为拉丁语序列的整个过程分为三个步骤:编码校正、拉丁语转换和文本正则化。详细描述可在我们之前的工作MnTTS中找到。

录音和音频文本对齐:与MnTTS不同,我们邀请了三位母语为蒙古语的播音员录制音频。每位播音员自愿参与并签署知情同意书,告知数据收集和使用协议。F1、F2和F3是三个母语为蒙古语的女性,F2是一个小女孩,F1和F3年级稍大。所有录音都在内蒙古大学的标准录音室进行。我们选择Adobe Audition作为录制软件。

在录音过程中,我们要求播音员在每个音频片段的开头和结尾保持0.3秒的停顿,嘴唇和麦克风之间保持恒定的距离,在逗号位置稍微停顿,并在问号位置进行适当的音调提升。

为了确保记录数据的质量,我们在完成记录工作后重新检查了记录数据。具体来说,我们邀请了三名志愿者对照每个文本对应的自然音频进行检查。这些志愿者负责将录制的音频文件拆分成句子,并将拆分的句子与文本对齐。蒙古语文本由一个拉丁序列表示,其中序列中的每个拉丁单词都成为一个单词,组成该单词的每个字母都被称为字符。字符还包括标点符号,如逗号(',')、句点('.')、问号('?')、感叹号('!')等。最后,我们获得了大约30小时的语音数据,采样频率为44.1kHz,采样精度为16bit。

语料库结构和统计:MnTTS2语料库的文件结构如图1所示。每个演讲者的录音文件和相应的文本集合保存在以演讲者命名的文件夹中。所有音频存储在WAV格式文件中,采样率为44.1 kHz,采样精度为16位。所有文本都保存在以UTF-8编码的TXT文件中。音频的文件名与相应的文本文件名相同,每个文件的名称由演讲者、文档ID和语料库ID组成。

MnTTS2数据的统计结果如表1和图2所示。如表1所示,整个语料库共有23801个句子。以说话者F1为例,F1共有572016个蒙古语字符,每个句子的平均字符数为79个,最短的句子有12个字符,最长的句子有189个字符。如果使用单词作为统计单位,则F1数据集中的单词总数为88209,每个句子中单词的平均值为12,最小值为3,最大值为29。如图2所示,我们还计算了句子持续时间以绘制直方图。以说话者F1为例,句子的字数集中在12-15个,持续时间集中在4-5秒。相比之下,我们发现F2的句子词数并不特别集中,持续时间也相对分散。另一方面,F3与F1更相似,具有更明显的集中。所有三位发言者的统计数据均符合正态分布。

4 语音合成实验

为了验证MnTTS2的可用性,我们在FastSpeech2模型和HiFi-GAN声码器的基础上构建了蒙古语的tts的实验,并且通过MOS评估了合成语音的自然度和说话人相似度。

4.1 实验设置

我们使用TensorFlowTTS工具搭建了基于FastSpeech2模型的端到端tts系统。FastSpeech2模型将输入的蒙古语文本转化为梅尔频谱图特征,然后输入HiFi-GAN声码器重构波形。FastSpeech2是先进的非自回归语音合成模型,该模型直接从语音波形中提取时长、音高和能量,然后用这些特征作为训练过程中的输入条件。该模型可以有效解决诸如重复、跳词等错误,并且在训练速度上有很大优势。FastSpeech2引入了更多变量信息,可以有效缓解一对多映射问题。此外,通过小波变换技术,音调预测的效果也得以改善。最重要的是FastSpeech2具有快速、稳健和可控的语音合成特点。这是我们选择FastSpeech2的主要原因。如图3所示,在FastSpeech2的基础上,我们通过增加说话人编码器模块来实现多说话人的FastSpeech2。说话人编码器包括说话人嵌入、全连接层和softplus层。在网络结构设置上,说话人的数量为3。说话人嵌入的维度为384。文本编码器的隐藏层大小为384并且隐藏层的层数为4,解码器的隐藏层大小为384,同样层数为4层。变量预测器的卷积层数为2,dropout设为0.5。初始学习率为0.001并且初始dropout设为0.2。

由生成对抗网络建立HiFi-GAN声码器,将梅尔频谱特征转化为高质量的音频。HiFi-GAN的生成器包括一个上采样结构,它由一个一维转置卷积和一个负责优化上采样点的多感受野融合模块组成。HiFi-GAN作为一个生成对抗网络,有着两个判别器,包括多周期判别器和多尺度判别器。生成器的卷积核大小为7,上采样率为(8,8,2,2)。判别器中cycle scale列表为(2,3,5,7,11)。每个周期判别器的卷积核为8。Melgan判别器中输出下采样的池化类型为AveragePooling1D,卷积核大小为(5,3),并且激活函数为LeakyReLU函数。HiFi-GAN是独立于FastSpeech2训练的。对每个说话人都需要用stft损失训练10万步后,再用生成器和判别器训练10万步,这样我们就得到了三个说话人各自对应的声码器。

在每个说话人上训练教师tacotron2模型用来提取时长,然后用提取到的时长训练多说话人FastSpeech2模型。为了提取每个说话人的语音时长,Tacotron2模型都在MnTTS2数据集上训练了10万步。之后,多说话人FastSpeech2模型又经过20万步的训练,完成了最终的语音生成。其中,声码器HiFi-GAN训练了10万步,声码器和判别器联合训练了10万步。所有的模型都在两块Tesla V100 GPU上训练。 

4.2 自然性评估

为了全面比较合成语音的自然度,我们比较了基线模型FastSpeech2+HiFi-GAN与Ground Truth语音。除此之外,为了验证HiFi-GAN的表现,我们添加了FastSpeech2+griffin-lim基线模型做进一步比较。Griffin-Lim算法可以直接通过梅尔频谱图算出音频的相位信息,无需训练就能重建波形。我们用自然度评价意见得分(N-MOS)评价自然度。我们在每个说话人数据中随机选取20条没有用于训练的语音作为评估数据。模型生成的语音和真实音频被随机洗牌分发给听众。在评估过程中,我们邀请了10位以蒙古语为母语的说话人,在安静的环境中评估400条合成语音的自然度。

在表2中给出了N-MOS结果。毫无疑问,真实语音得到了最高分。而FastSpeech2+HiFi-GAN的性能优于FastSpeech2+griffin-lim,最接近真实语音。在FastSpeech2 和 HiFi-GAN 组合中,每个说话人的N-MOS得分都在4.0以上。

具体而言,对于F1、F2和F3,FastSpeech2 + HiFi - GAN的N–MOS得分分别达到4.02、4.15和4.29。这一结果令人满意,这证明了使用MnTTS2和该模型可以合成高质量的蒙古语语音。总之,所有结果证明我们的MnTTS2数据集可以用来构建一个鲁棒的、用于高质量的语音生成的TTS系统。

4.3 说话人相似度评价

我们进一步针对FastSpeech + HiFi-GAN基线系统进行实验,评估说话人相似度性。说话人相似度平均意见得分( SS-MOS )结果报告在表3中。

通过FastSpeech2 + HiFi - GAN基线系统为每个说话人合成20条音频。同时邀请10名以蒙古语为母语的志愿者参与评分。每个志愿者需要在合成语音和真实音频中评估说话人是否为同一个人。F1、F2和F3的SS - MOS得分分别为4.58、4.04和4.12。结果表明,FastSpeech2 + HiFi - GAN系统合成的音频在说话人相似度方面表现良好。说话人F1的SS - MOS得分最高。对音频进行试听,可以发现F1的音色具有显著的特征,合成的音频很好的代表了说话人的语音信息。总之,本实验表明MnTTS2数据集可以用于多说话人场景下的语音合成工作。

5 挑战与未来工作

随着"共情AI "的发展,情感 TTS的研究越来越受到关注。会话场景下的语音合成和情感语音合成是当前的研究热点。此外,如何控制语音生成过程中的情感类别和情感强度是一个有趣的方向。然而,我们的MnTTS2不涉及与情绪类别和情绪强度相关的信息。在今后的工作中,我们将对数据进行更全面、更深入的扩展,帮助情感蒙古语TTS的发展。

6 结论

我们展示了一个大规模、开源的蒙古语文本到语音语料库:MnTTS2,它扩展了MnTTS,增加了语音时长、话题数量和说话人数量。我们详细描述了语料库的构建过程,同时我们通过FastSpeech2模型和HiFi-GAN声码器合成声音来验证语料库的可用性。实验结果表明,我们的系统在MnTTS2上可以取得令人满意的性能,这表明MnTTS2语料库是实际可用的,可以用于构建鲁棒的多说话人TTS系统。在未来的工作中,我们将引入情感TTS数据集,进一步丰富我们的语料。我们还计划比较不同TTS架构和模型的超参数对结果的影响,并进行后续分析。

论文翻译:内蒙古大学计算机学院2022级硕士研究生 刘彬 (导师:刘瑞研究员)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java编程进阶】Java异常详解

推荐学习专栏:Java 编程进阶之路【从入门到精通】,从入门到就业精通,买不了吃亏,买不了上当!! 文章目录1. 异常2. 异常的体系3. Error4. 异常产生的过程5. throw 关键字6. 异常处理6.1 throws 关键字6.2 tr…

基于Node.js和vue的师生互助平台

摘 要随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&am…

Jetpack Compose中的软键盘与焦点控制

FocusRequester 与 FocusManager 在 Compose 中,可以通过 FocusRequester 与 FocusManager 这两个对象可以主动在代码中控制焦点获取和取消焦点,其中FocusRequester可以用来获取焦点,通过调用它的requestFocus()方法来实现,而 Fo…

脚手架搭建Vue项目

以上创建的方式发现一直存在config目录 换种方式 卸载脚手架命令 npm uninstall vue-cli -g 重新安装 npm install vue/cli -g 1.vue create 项目名 2.模板选择,通过键盘上下键来选择,我们选择第三个 自定义 这三个选择分别是 vue2 / vue3 默认模板…

12.Isaac教程--未来工厂中的搬运车

未来工厂中的搬运车 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录未来工厂中的搬运车运行模拟器搬运车送货申请自动小车运输的行为树导航与感知互通仅限自主导航申请仅适用于感知训练模型物体检测模型(DetectNetv2&#x…

JSP SSM家教管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSPSSM家教管理系统 是一套完善的系统源码,对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档,系 统主要采用B/S模式开发。 研究的基本内容…

5.5、TCP 的拥塞控制

在某段时间若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏\color{red}对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就…

CSDN第22场周赛

1.写在前面的话22场周赛的详情总比赛第7名了,hhhCSDN周赛非常能够锻炼码代码的能力,无论是在平常的练习题目当中,还是每次的周赛中,题目有难有易,每次周赛的题目出的十分具有代表性,参加了将近20场的周赛&a…

批量PDF文件合并用什么软件?这两个宝藏软件赶快收藏起来

我们在工作中经常有很多处理过的PDF文件,我们经常会将这些文件进行保存,以防日后需要使用,但是太多的PDF文件真的会占用很多存储空间,所以我们可以将各类PDF文件合并在一起,这样也方便以后观看,但是逐个合并…

Docker容器实时日志查看器Dozzle

什么是 Dozzle? Dozzle 是一个小型轻量级应用程序,具有基于 Web 的界面来监控 Docker 日志。Dozzle不存储任何日志文件,仅用于实时监控您的容器日志。 先看个官方的动图 老苏已转成了视频,源文件地址:https://github.c…

制造型企业离不开MES?MES系统有什么应用场景

随着工业物联网的迅速发展,设备监测也成为MES系统中的一个关键环节。过去我们所收集到的资料,也许只是一种记录的作用,随着联网的设备越来越多以及大数据、云计算等技术的发展,数据的价值越来越高。数据收集不再仅仅是一种简单的记…

Codeforces Round #841 (Div. 2) (A--D)

[TOC](Codeforces Round #841 (Div. 2)(A–D)) A、 Joey Takes Money 1、题目 2、思路 3、代码 #include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef unsigned long long ll;int main(){ll t;cin>>t;while(t--){int…

新书赠送丨《中国金融科技发展概览:创新与应用前沿》

我国金融科技发展日新月异&#xff0c;人工智能、云计算、大数据等新兴数字技术与实体经济及金融业的深度融合&#xff0c;推动我国数字经济快速发展&#xff0c;也深刻改变着我国金融业的服务业态和经营模式。过去的一年&#xff0c;金融机构实现核心技术自主可控成为热点&…

影响因子14.65:16S全长测序+低丰度简化菌群,提供根腐病防控新视角

背景介绍当土壤中病原体入侵时&#xff0c;植物可以动态调节其根际微生物并适应这种生物胁迫。植物招募的保护性微生物群落中通常包含一些低丰度的类群&#xff0c;其作用尚不清楚。本研究首先分析了健康和患病黄芪之间根系微生物群落结构的差异&#xff0c;依据患病黄芪根部的…

增加模拟前端的动态范围

1、光电接收电路 下面两张图分别在sensor正偏置和负偏置时的接收电路&#xff0c;这里我们关注一下输出的波形特征为一个脉冲信号&#xff0c;脉冲信号的共模电压为5V分压得到&#xff0c;信号的摆幅为Iout*RT&#xff0c;Iout为光电流&#xff0c;在应用在雷达接收的中时&…

JVM调试命令与调试工具

一、JDK自带命令Sun JDK监控和故障处理命令如&#xff1a;1、jpsJVM Process Status Tool&#xff0c;显示指定系统内所有的HotSpot虚拟机进程。jsp命令格式&#xff1a;jps [ options ] [ hostid ] 扩展参数&#xff1a;jps -l&#xff1b;jps -mlv&#xff1b;各参数说明如下…

tkinter 实现倒计时(1小时)

使用python标准GUI库tkinter实现倒计一小时效果。 废话少说。 效果图&#xff1a; 要不然看个 动态效果 图&#xff1a; 代码&#xff1a; from tkinter import * from tkinter.messagebox import showerrorroot Tk() root.title("倒计时") root.geometry("3…

解析|当前企业OA系统面对的困难与解决方案

近年来&#xff0c;由于疫情爆发&#xff0c;线下的企业办公效率难以保证&#xff0c;不少企业逐渐转向远程办公。尝试过后&#xff0c;远程办公的优势凸显&#xff0c;使得有越来越多的企业开始逐渐深入了解在线办公软件、协同办公OA系统。据统计&#xff0c;2021年数字化办公…

监控docker

当前&#xff0c;容器的使用已经非常普及&#xff0c;将服务迁移到容器上正成为了越来越多公司的选择。而对于运维人员而言&#xff0c;熟悉容器的使用与监控&#xff0c;也已成为一项必不可少的专业技能。关于容器的开源产品&#xff0c;目前知名的有Docker、Containerd、Core…

P2580 于是他错误的点名开始了

题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人。 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次&#xff0c;然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉&#xff08;详情请见已结束比赛 CON900&#xff09;。 题目描述 这之后校长任命你为特派探员…