近年来,随着深度学习的发展,文本转语音(TTS)受到了广泛的关注。基于神经网络的TTS模型(如Tacotron 2、DeepVoice 3和Transformer TTS)在语音质量方面已经超过了传统的连续式统计参数方法。
本文最初发布于微软官方博客,由InfoQ中文站翻译并分享。
基于神经网络的TTS模型通常首先由文本输入自回归地生成梅尔谱图,然后使用声码器从梅尔谱图合成语音。(注:梅尔刻度是用来测量频率的,单位是赫兹,刻度是基于音高的比较。谱图是一种随时间变化的频率的可视化表示。)
由于梅尔谱图的长序列和自回归性质,这些模型面临几个挑战:
为了解决上述问题,来自微软和浙江大学的研究人员提出了FastSpeech,这是一种新型的前馈网络,可以快速生成具有鲁棒性、可控性的高质量梅尔谱图。我们的研究论文《FastSpeech:一种快速、鲁棒、可控的TTS》已经被第三十三届神经信息处理系统会议(NeurIPS 2019)接受。FastSpeech采用了一种独特的架构,与其他TTS模型相比,它的性能在许多方面都得到了提升。这些结论来自于我们对FastSpeech的实验,稍后我们将在这篇文章中详细介绍。
在LJ语音数据集以及其他语音和语言上的实验表明,FastSpeech具有以下优点。简要概述如下:
图1:FastSpeech的总体架构。(a)前馈转换器。(b)前馈转换器块。(c)长度调节器。(d)音长预测器。MSE损失是预测时间和提取时间之间的损失,只存在于训练过程中。
FastSpeech采用了一种新颖的前馈转换器结构,抛弃了传统的encoder-attention-decoder框架,如图1a所示。前馈转换器的主要组成部分是前馈转换器块(FFT块,如图1b所示),它由自注意力和1维卷积组成。FFT块用于音素序列到梅尔谱图序列的转换,音素侧和梅尔谱图侧分别有N个堆叠块。与众不同的是,中间有一个长度调节器,用来弥补音素和梅尔谱图序列之间的长度不匹配。(注:音素是根据语音的自然属性划分出来的最小语音单位。)
模型的长度调节器如图1c所示。由于音素序列的长度小于梅尔谱图序列,一个音素对应几个梅尔谱图。对应一个音素的梅尔谱图的数量称为音长(phoneme duration)。长度调节器根据音素的持续时间扩展音素的隐藏序列,以匹配梅尔谱图序列的长度。我们可以通过按比例增加或减少音长来调整语速,也可以通过改变空白标记的时长来调整单词间的断句从而控制部分韵律。
音长预测器是长度调节器确定每个音素音长的关键。如图1d所示,时长预测器由两层1维卷积和一个预测音长的线性层组成。音长预测器位于音素侧的FFT块上,并通过均方根误差(MSE)损失函数与FastSpeech联合训练。在自回归教师模型中,音素时长的标签是从编码器和解码器之间的注意力对齐中提取的。详情请参阅论文。
为了验证FastSpeech的有效性,我们从语音质量、生成速度、鲁棒性和可控性几个方面对模型进行了评估。我们在LJ语音数据集上进行了实验,该数据集包含13100个英语音频片段和相应的转录文本,总时长约为24小时。我们将数据集随机分为三组:12500个样本用于训练,300个样本用于验证,300个样本用于测试。FastSpeech是在师生框架下训练的:教师是自回归TTS模型,用于序列级知识提取和时长提取,学生模型是FastSpeech模型。
为了测量音频质量,我们对测试集进行了平均评价得分(MOS)评估。每个音频至少有20名测试者收听,这些测试者都是以英语为母语。我们将使用FastSpeech模型生成的音频样本的MOS与其他系统进行比较,其中包括:1)GT,基础真实音频;2) GT(Mel + WaveGlow),首先将基础真实音频转换为梅尔谱图,然后使用WaveGlow将梅尔谱图转换回音频;3)Tacotron 2 (Mel + WaveGlow);4)转换器TTS (Mel + WaveGlow);5) Merlin (WORLD),一个流行的参数化TTS系统,使用WORLD作为声码器。结果如表1所示。可以看出,FastSpeech的质量几乎与Transformer TTS模型和Tacotron 2的质量相当,感兴趣的话可以听一下我们Demo中的音频对比。
表1:95%置信区间MOS
我们评估了FastSpeech的推理延迟,并将其与自回归转换器TTS模型进行了比较。从表2可以看出,FastSpeech将梅尔谱图的生成速度提高了约270倍,将端到端的音频合成速度提高了约38倍。
表2:95%置信区间的推理延迟比较。评估是在一个拥有12颗Intel Xeon CPU、256GB内存和1个NVIDIA V100 GPU的服务器上进行的。这两个系统生成的梅尔谱图的平均长度都在560左右。
自回归模型中的编码-解码器注意力机制可能导致音素与梅尔谱图之间的注意力排列错误,进而导致单词重复和跳过的不稳定性。为了评估FastSpeech的鲁棒性,我们选择了50个对于TTS系统而言特别难的句子,错误统计如表3所示。可以看出Transformer TTS在这些困难的情况下并不健壮,错误率为34%,而FastSpeech可以有效地消除单词重复和跳过,提高可理解性,这在我们的演示中也可以观察到。
表3:FastSpeech和Transformer TTS对于50个特别难的句子的鲁棒性比较。每句话中每一种单词错误最多计算一次。
FastSpeech可以通过长度调节器调节语速,速度从0.5x到1.5x不等,而且不会影响音质。你可以访问我们的页面来查看针对语速和断句的长度控制演示,其中包括0.5x到1.5x之间不同速度的录音。
我们还研究了FastSpeech中各组件的重要性,包括FFT块中的一维卷积和序列级知识蒸馏。CMOS评价如表4所示。可见,FFT块中的一维卷积和序列级知识蒸馏对于保证FastSpeech的语音质量都是非常重要的。
我们还针对更多的语音和语言进行了实验,我们发现FastSpeech总是可以与自回归教师模型的语音质量相匹配,而且具有非常快的生成速度、鲁棒性和可控性。在未来的工作中,我们将优化FastSpeech,并把它和并行声码器结合到一个单一的模型中,实现一个纯粹的端到端TTS解决方案。
原文链接:
FastSpeech: New text-to-speech model improves on speed, accuracy, and controllability
领取专属 10元无门槛券
私享最新 技术干货