本次分享内蒙古大学蒙古文信息处理重点实验室蒙古文智能信息处理技术国家地方联合工程研究中心语音理解与生成实验室 (S2LAB) (https://ttslr.github.io/index_S2Group.html共同发布的开源蒙古语语音合成数据集及其基线模型。相关论文《MnTTS: An Open-Source Mongolian Text-to-Speech Synthesis Dataset and Accompanied Baseline》发表于亚洲自然语言处理会议IALP‘2022。

论文地址:

https://arxiv.org/abs/2209.10848

代码仓库:

https://github.com/walker-hyf/MnTTS

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

数据申请入口:

http://mglip.com/corpus/corpus_detail.html?corpusid=20220819185345

0 摘要

本文介绍了一个高质量的开源蒙古语语音合成(TTS)数据集,该数据集被命名为MnTTS,由一位22岁的专业蒙古语女播音员所录制的约8小时转录音频及对应文本组成。它是第一个公开可用的蒙古语语音合成数据集,旨在促进蒙古语TTS在学术界和工业界的应用。在本文中,我们通过描述数据集的开发过程和面临的挑战来分享我们的经验。为了证明我们数据集的可靠性,我们在Fastspeech2模型和HiFi-GAN声码器的基础上建立了一个强大的非自回归基线系统,并使用了主观平均意见分数(MOS)和合成实时率(RTF)指标对其进行评估。评估结果显示,我们的基线系统的MOS分数达到4分以上,RTF约为3.30×10-1。数据集、训练代码和预训练模型已经开源。

1 引言

文本转语音或语音合成(TTS)旨在为任何给定的文本合成高质量的语音。TTS是人工智能(AI)的一个重要研究方向,受到学术界和工业界的广泛关注。它有广泛的应用,如导航、公告、智能助理和其它语音设备。随着深度学习技术的发展,高质量的训练数据已经成为训练一个可靠的神经网络模型的必要条件。因此,为了建立一个鲁棒的TTS系统,高质量的语音数据集是必需的。对于主流语言如汉语和英语,有很多大规模的高质量语音数据,如LJSpeech、libriTTS、AiShell等等。然而,对于一些低资源的语言,如蒙古语,这样的数据却很少。为了解决这个问题,我们为蒙古语开发了一个开源的语音数据集MnTTS来促进高质量蒙古语TTS系统的建立。

蒙古语属于阿尔泰语系中的蒙古语支,是蒙古语系中最著名和最广泛使用的语言。蒙古语主要在中国、蒙古国和俄罗斯联邦西伯利亚联邦区的蒙古人民居住区使用。同时,蒙古语也是中国内蒙古自治区的主要民族语言。在世界上,使用蒙古语的人数约为600万。因此,研究蒙古语的语音合成技术对少数民族地区的教育、交通、通信等领域具有重要意义。(需要注意的是,在蒙古国使用的蒙古问由于受到20世纪50、60年代前苏联的影响主要是用西里尔字母拼写的,而在中国使用的蒙古语主要是用传统字母拼写的,本文主要讨论传统蒙古文。)

目前,还没有高质量的蒙古语数据集来构建TTS系统。TTS发展如火如荼,特别是最近提出的端到端(E2E)神经架构,如Tacotron、Tacotron2模型。在类似WaveNet声码器的加持下,合成语音的效果已经达到了人类发音的水平。为了进一步加快推理过程,非自回归TTS模型和声码器,如Fastspeech、Fastspeech2、MelGAN、Voc-GAN、HiFi-GAN等被提出,并取得了优异的成绩。受到以上工作的鼓舞,这项工作旨在通过开源MnTTS数据集来填补蒙古语TTS研究的空白。据我们所知,这是第一个为建立蒙古语TTS系统而开发的开源数据集。我们的数据集包含大约8小时的高质量语音数据,由一位22岁的蒙古族专业女播音员朗读。该数据集由本地的转录人员精心注释,包括政治、商业、体育、娱乐和其他领域。文字抄本涵盖了所有蒙古语字母和丰富的词汇组合。根据知识共享署名4.0国际许可证,MnTTS免费供学术和商业使用。

我们计划通过引入MnTTS数据库,推动蒙古族智能信息处理技术的发展,同时这也将对中国少数民族人工智能技术的发展起到重要的推动作用。我们相信,MnTTS数据库将成为TTS研究界的宝贵资源,我们的经验将使其他计划为低资源语言开发语音数据集的研究人员受益。我们注意到MnTTS的主要应用领域是语音合成。然而我们相信,我们的数据对语音识别、语音增强和其他相关领域也将是有用的。

为了证明MnTTS的可靠性,我们结合了Fastspeech2模型和HiFi-GAN声码器来建立我们的基线系统,因为Fastspeech2是最先进的非自回归声学模型,HiFi-GAN是最先进的非自回归声码器。我们用主观平均意见分数(MOS)和合成实时率(RTF)来评估该系统。实验结果表明,使用我们的数据集建立的TTS模型对于女性说话人实现了MOS分数为4.46和RTF为3.30×10-1,这保证了在实际应用中的可用性。此外,我们还对鲁棒性问题进行了分析。我们发现了一些不稳定的现象,如跳字和缺字,并对其原因进行了深入的分析。

本文的其余部分组织如下。第二节简要回顾了相关工作。第三节描述了MnTTS的构建程序并报告了统计信息。第四节解释了TTS的实验设置并讨论了获得的结果。第五节是本文的结论,并强调了未来的研究方向。

2 相关工作

2.1 TTS数据集构建

最近,人机交互应用的激增,如智能音箱、智能家居、智能汽车助手等,吸引了学术界和工业界对TTS研究的极大关注。因此,许多大规模的数据集,如LJSpeech、libriTTS、Aishell等,已经被收集并免费发布。然而,这些数据集大多集中在资源丰富的语言,如英语、普通话等等。

为了建立低资源语言的TTS数据集,一些研究者提出了基于无监督、半监督和跨语言迁移学习的方法。具体来说,这些方法首先从互联网上自动抓取一些语音文件,然后采用语音识别模型或从其他类似语音中提取一些语言知识来标记原始音频文件。尽管上述方法提供了一些可用的语料来支持TTS模型的训练,并达到可接受的语音合成性能,但由于环境噪声和背景噪声等原因,合成的语音的整体质量通常不足以满足实际应用的需要。

我们注意到,最简单和最直接的想法是录制和手动注释音频对应的文本。众所周知,这样的过程是费时费力的。然而,为了促进低资源语言TTS系统的发展,这种方法是获得高质量语音合成结果的可靠方法。

在本文中,我们将采用第二种方法来准备我们的MnTTS数据集,我们认为这样高质量的蒙古语语音数据集是值得开源的。

2.2 蒙古语TTS

蒙古语语音合成的研究有着悠久的历史。近年来,随着深度学习技术的发展,蒙古语语音合成的研究迎来了新的高潮。

刘瑞等人首次将深度学习技术引入到蒙古语语音合成中,并使用基于DNN的声学模型在5小时的训练数据上进行训练,代替HMM声学模型来提高蒙古语TTS的整体性能。李劲东等人实现了基于Tacotron的蒙古语语音合成系统,在大约17小时的训练数据上进行训练。其中,与传统方法相比,基于Tacotron的蒙古语TTS系统的整体性能取得了明显的改善。同样,黄爱红等人实现了基于迁移学习和情感嵌入的蒙古语情感语音合成。但他们的数据集均未开源共享。

上述工作为蒙古语TTS技术的研究提供了一个坚实的基础。然而,所涉及的数据集并不公开可用。因此,有必要建立一个高质量的开源蒙古语TTS数据集,这将是本工作的重点。

3 MnTTS数据集

MnTTS项目是在内蒙古大学计算机学院内蒙古自治区蒙古文信息处理技术重点实验室的批准下进行的。一位女性演讲者自愿参与,并已通过同意书告知其数据收集和使用协议。

3.1 文本收集

建立这个数据集的第一步是进行文本收集。对于文本收集的范围,我们初步选择了主流平台,如新闻网站、社交媒体平台、书籍等。在主题方面,我们会尽量保证所选文本具有广泛的覆盖面(例如:政治、商业、体育、娱乐、文化等)。我们还进行了人工过滤,排除不适当的内容,如比较敏感的政治问题或与隐私有关的问题,以及暴力色情内容。在这个规则下,我们总共收集了7000条语句作为我们的最终文文字抄本。

3.2 文本预处理

传统蒙古语有其独特的黏着语特征,使蒙古文字母的词汇表达变化多端,其表现形式也因语境的不同而有所不同。因此,存在着严重的谐音现象,导致许多错误编码的字母文本脚本。为了尽可能避免这样的问题,我们将蒙古文本转换为拉丁序列表示。文本处理分为三个步骤: 编码校正、拉丁文转换和文本正则化。

l  编码纠正:首先我们手动将不正确的编码转换为正确的形式,以纠正蒙古族的字符编码。

l  拉丁文转换:之后,根据字母-拉丁文映射表,将校正后的蒙古文字符转换为拉丁文表示。

l  文本正则化:最后,设计了140多种正则表达式,过滤日期、阿拉伯数字等高频蒙古文特殊字符,将不规则蒙古文文本转换为标准化的蒙古语拉丁文字符表示序列。

3.3 音频录制与音频-文本对齐

为了保证录音的质量,我们邀请了一位22岁的蒙古族专业播音员,她是一位土生土长的蒙古族女孩。整个录音过程在内蒙古大学标准录音室进行,录音采用 Adobe Audition 软件。播音员根据我们的脚本一句一句地朗读。此外,还有一名志愿者负责监督录音过程,如果录音中出现杂音和不合理的停顿等问题,会进行重新录音。

录音之后,我们还要对语音数据进行进一步的检查。具体来说,我们邀请了三位蒙古语转录员,让他们仔细地将每句话与实际音频的内容对齐。我们的文本内容由蒙古语拉丁文序列组成,将序列中的每个拉丁文词称为一个词,将拉丁文词中的每个字母称为一个字符。转录文本还包含标点符号,如句号(‘。’) ,逗号(‘,’) ,连字符(‘-’) ,问号(‘ ?’)、惊叹号(‘!’)等等。我们去除了音频文件中多余的噪音和错误的发音部分,在每个音频片段的开始和结尾都有大约0.3秒的静音。最后,我们保留了大约6000条语句和对应的文本数据。

最后,我们整理了大约8小时的语音数据,这些数据的存储格式如下:采样率为44.1K,采样精度为16bit。

3.4 数据集统计分析

MnTTS 数据的统计结果如表1所示。整个数据中的蒙古文字符总数为410,044个,平均每个句子的字符数为66个,最短的(Min)句子有2个字符,最长的(Max)句子有189个字符。对于音素,这个数据集包含310,565个音素,我们在统计过程中注意到平均值是50,最大值是146和最小值是1。此外,我们计算了数据中的单词数量,结果显示在图1中,这个数据集中有63,866个单词,一个句子中的平均单词数为10,最短的句子只有1个单词,最长的有28个单词。我们使用统计的句子长度数构建了一个直方图,其中我们可以直观地看到大多数句子集中在8-10的长度范围内,句子的长度遵循正态分布。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

在句子持续时间方面,如图2所示,我们计算了所有句子的时长,可以看到大多数句子集中在4-5秒的持续时间范围内。由于这个数据集包含了大量的蒙古族姓名,这反过来导致大部分数据集中在0-1秒的时间间隔。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

4 TTS实验

为了验证所提出的MnTTS数据集,我们在Fastspeech2模型和HiFi-GAN声码器的基础上建立了蒙古语TTS系统,用主观平均意见分数(MOS)和合成实时率(RTF)对其合成音频的自然度和推理效率进行了评估。

4.1 实验设置

我们基线系统的总体架构如图3所示。FastSpeech2模型的目的是将输入的蒙古文字转换成梅尔谱图特征,然后HiFi-GAN声码器从梅尔谱图特征重建波形。我们使用TensorFlowTTS工具来构建基线系统。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

FastSpeech2是目前最先进的非自回归语音合成模型。从语音波形中提取持续时间、音高和能量,将它们直接用作训练中的条件输入,并使用预测值进行推理。该模型不仅训练速度更快,而且缓解了 TTS 中的一对多映射问题(即多种可能的语音对应于一个文本序列)。编码器的隐藏大小设置为384,隐藏层的数量为4。解码器的隐藏尺寸是384,隐藏层数是4。方差适配器中预测器的卷积层数被设置为2,预测器的dropout rate为0.5。初始学习率为0.001,隐藏曾的dropout rate设置为0.2。

HiFi-GAN 是近年来学术界和工业界普遍使用的声码器。它可以将声学模型产生的频谱转换成高质量的音频。这种声码器使用生成式对抗网络作为基本生成模型。HiFi-GAN 的生成器主要由两部分组成,一部分是由一维转置卷积构成的上采样结构,另一部分是多感受野融合模块,主要负责优化上采样获得的采样点,网络结构不良。HiFi-GAN 有两种判别器,即多尺度判别器和多周期判别器,它们从两个不同的角度进行语音识别。对于生成器,内核大小为7,上采样尺度为[8,8,2,2]。对于周期尺度的判别器列表为[2,3,5,7,11] ,在每个周期判别器的卷积滤波器中,滤波器为8。对于melgan判别器的参数,输入下采样的池类型为 AveragePooling1D,内核大小列表为[5,3] ,非线性激活函数为LeakyreLU。

在基线模型训练之前,使用 Tacotron2模型进行了10万步的训练,从注意对齐中提取持续时间,作为FastSpeech2的持续时间预测器。在那之后,我们训练了Fastspeech2模型20万步。对于HiFi-GAN声码器,我们首先对生成器进行10万步的训练,然后联合训练生成器和判别器20万步。

所有模型都使用Tesla V100图形处理器进行训练。关于模型规格和训练过程的更多细节在我们的GitHub仓库中提供。

4.2 自然性评估

为了评价自然性,我们进行了主观平均意见分数(MOS)测试。我们从测试集中随机选择50个不同长度的句子作为评估集。该模型生成的音频与录制音频打乱顺序随机发送给听众。在测试中,5名受试者被要求戴上耳机,坐在一个安静的环境中,对250条生成的音频的自然性进行打分。受试者均为以蒙古语为母语的蒙古族青年学生。这些录音采用李克特5分制量表进行评分: 5分为优秀,4分为良好,3分为一般,2分为差,1分为不好。

为了全面比较自然性,我们将基线系统合成语音与录制音频进行了比较。此外,为了验证HiFi-GAN的性能,我们添加了FastSpeech2+Griffin-Lim基线模型作进一步的比较。请注意,FastSpeech2+Griffin-Lim系统采用Griffin-Lim算法而不是HiFi-GAN声码器来重建波形。主观评价结果见表2。结果表明,录制音频度达到了预期的最佳性能。表现最差的是 Fastspeech2+Griffin-Lim。重要的是,FastSpeech2+HiFi-GAN模型实现了4.4以上的MOS结果,并且与真实音频效果相当。这个结果证明了我们的MnTTS数据集对TTS应用程序的实用性。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

4.3 实时性评估

与前一节中同样的50句测试集被用于效率评估。合成实时率(RTF)指标是以50句测试集的总持续时间作为参考计算的。具体来说,我们用于合成这个测试集的时间是62.14秒,测试集合成语音的总持续时间是188.48秒。因此,我们通过除法运算得到了3.30 × 10-1的 RTF。

此外,我们还合成了不同数量的(范围从10-50)句子,然后计算所需的时间。结果如图4所示,从中我们发现,对于我们的模型,推理延迟几乎没有随着句子数量的增加而增加。这表明该模型具有良好的合成效率,在批量合成中仍具有较快的合成速度,满足实际要求。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

4.4 鲁棒性评估

虽然我们合成的声音质量达到了令人满意的效果。但是,我们在评估过程中也发现了一些不稳定的合成现象,如跳字、缺字等。

我们在测试集的合成语音中发现了六种类型的错误,包括重复单词、跳过单词、错误发音、不完整的单词、长时间停顿和非语言的声音。我们邀请了5名志愿者为所有合成语音的错误情况进行标注。注意,测试集中的单词总数为500。我们在表3中报告了错误情况的统计结果。

MnTTS: 开源蒙古语语音合成数据集及其基线模型-LMLPHP

结果表明,有2个单词发音不准确,2个单词发音不完整,1个单词有非语言噪音。经过分析,得出两个原因。首先,预训练的Tacotron模型提取的时长用于为FastSpeech2模型的时长预测器提供监督信号,但是在8小时训练数据上进行训练的Tacotron模型可能不够稳健,导致单词持续时间出现错误。其次,HiFi-GAN也是基于8小时的训练数据进行训练的,声码器也可能训练不足,导致某些词语出现噪音。在未来的工作中,我们将通过增加数据量来继续改进,以解决这两个问题。

5 结论

本文介绍了第一个用于TTS 应用的开源蒙古语语音数据集。MnTTS 数据集包含约8小时的语音数据,其中包含大约6,000个录音。我们在知识共享署名4.0国际许可证下发布了我们的数据集,该许可证允许学术和商业使用。我们通过描述数据集的构建和TTS评估程序来分享我们的经验,这可能会使其他计划为低资源语言收集语音数据的研究人员受益。为了证明数据集的有效性,我们基于 FastSpeech2模型和HiFi-GAN声码器构建了基线模型。MOS 和 RTF 评估结果表明,在 MnTTS 上训练的基线模型适合于实际使用。

在未来的工作中,我们计划引入新的说话人以及情感进一步扩展我们的数据集。我们还计划探索蒙古语TTS模型的最佳超参数设置,比较不同的TTS架构,并进行额外的分析。

12-02 10:57