本次分享内蒙古大学蒙古文信息处理重点实验室、蒙古文智能信息处理技术国家地方联合工程研究中心及语音理解与生成实验室 (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级硕士研究生 刘彬 (导师:刘瑞研究员)