FASTSPEECH 2: FAST AND HIGH-QUALITY END-TOEND TEXT TO SPEECH
现状
非自回归模型可以在质量相当的情况下显著快于先前的自回归模型合成模型。但FastSpeech模型训练依赖与自回归教师模型进行时长预测(提供更多的信息作为输入)和知识蒸馏(简化输出中的数据分布),可以缓解一对多的映射问题
1、存在问题
因为由于语音的变化,如音高、时长、音量和韵律等,多个可能的语音序列可以对应一个文本序列。在非自回归TTS中,仅有的输入信息是文本,不足以完全预测语音的方差。在这种情况下,模型容易对训练集中目标语音的变化产生过拟合,导致泛化能力较差。归根结底还是一对多的映射问题。
提出问题
1)师生蒸馏管道复杂耗时
2)从教师模型中提取的持续时间不够准确,以及从教师模型中提取的目标mel-谱图由于数据简化导致信息丢失,这些都限制了语音质量。
解决问题
(以下以加快训练速度为目标)
(1)直接用真实目标训练模型而不是简化的教师输出
(2)引入更多的语音(例如,音高、能量和更精确的时长)的变化信息作为条件输入,更好地解决了TTS中的一对多映射问题。具体来说,我们从语音波形中提取时长、音高和能量,并直接将它们作为训练中的条件输入,并在推理中使用预测值。
(3)进一步设计 FASTSPEECH 2s模型。首次尝试直接并行地从文本中生成语音波形,实现了完全端到端推理。
现有的研究方式
1、自回归
以往的研究是从文本中自回归生成mel谱图,然后使用单独训练的声码器从生成的mel谱图中合成语音。但这种推理速度慢,并且在单词跳读和重复时存在鲁棒性问题。
2、非自回归
以极快的速度生成mel谱图,避免鲁棒性问题,同时实现以自回归相当的语音质量。
FastSpeech到FastSpeech 2的过程
FastSpeech设计了两种方式来缓解一对多映射问题:1 )通过使用自回归教师模型生成的梅尔频谱图作为训练目标(即,知识蒸馏)来减少目标侧的数据方差。2 )引入时长信息(从教师模型的注意力图中提取)对文本序列进行扩展,使其与梅尔频谱序列的长度相匹配。FastSpeech中的这些设计虽然缓解了TTS中一对多映射问题的学习,但也带来了一些弊端:1 )两阶段的师生训练流水线使得训练过程变得复杂。2 )教师模型生成的目标梅尔谱与真实梅尔谱相比存在一定的信息损失,因为生成的梅尔谱合成的音频质量通常比真实梅尔谱合成的音频质量差。3 )从教师模型的注意力图中提取的时长不够准确。
》》》》》》》》提出》》》》》》》》》FastSpeech 2》》》》》》》》》》
FastSpeech 2来解决FastSpeech中存在的问题,更好地处理非自回归TTS中一对多的映射问题。为了简化训练管道,避免师生蒸馏过程中因数据简化而造成的信息损失,我们直接用真实目标来训练FastSpeech 2模型,而不用教师的简化输出。为了减少输入(文本序列)和目标输出( mel -谱图)之间的信息差距(输入并不包含预测目标的全部信息),缓解非自回归TTS模型训练中一对多的映射问题,我们在FastSpeech2中引入了语音的一些变化信息,包括基音、能量和更精确的时长:在训练中,我们从目标语音波形中提取时长、基音和能量,并直接将它们作为条件输入;在推断中,我们使用与FastSpeech 2模型联合训练的预测器预测的值。考虑到基音对语音韵律的重要性,以及基音随时间波动较大而难以预测的特点,我们利用连续小波变换将基音轮廓转换为基音频谱图,并在频域进行基音预测,提高了基音预测的准确性。
FastSpeech2模型结构
变量预测
除了文本之外,语音音频通常还包含许多其他的变量信息,包括(1)音素持续时间,它代表了语音发声的速度;(2)音高,音高是传达情感的重要特征,对感知有重要影响;(3)能量,能量表示熔体谱图的帧级量级,直接影响熔体谱图计算的损耗;(4)情感,风格,演讲者等等。变量信息不完全由文本决定,由于一对多映射问题,不利于非自回归TTS模型的训练。在这段中,我们描述了如何在方差适配器中使用音高,能量和持续时间的细节。
1、时长预测器
以音素作为输入,预测每个音素的时长,表示音素对应的帧数,并转换成对数域方便预测。以提取的时间作为训练目标,以均方误差损失优化预测器。如下图所示。其中MFA是蒙特利尔强制对齐 Tool3工具提取音素时长,提高对其精度,减少模型输入和输出之间的信息差距。在训练过程中输入的是b1,在测试阶段输入的是a1
2、音高和能量预测器
由于预测的音高和真实音高分布有很大的不同,使用连续小波变换(CWT)将连续的pitch序列分解为pitch谱图,并将pitch谱图作为预测器的训练目标,使用MSE损失优化。能量预测器我们计算每个短时傅里叶变换( STFT )框架的振幅的L2范数作为能量。流程类似上图。
我们从目标梅尔频谱图相同跳数的原始波形中提取F0,得到每一帧的pitch,并计算每一帧STFT幅值的l2 -范数作为能量。然后我们将每一帧的F0和能量量化为256个可能的值,并将它们分别编码为one-hot向量序列( p和 e)。在训练过程中,我们查找 p 和 e 嵌入的音高和能量,并将它们添加到隐藏序列中。音高和能量预测器直接预测F0和能量的值,而不是one-hot向量,并采用均方误差进行优化。在推断过程中,我们使用变量预测器预测F0和能量。
FastSpeech2s模型结构
为了实现完全端到端的文本到波形的生成,在这一部分中,我们将FastSpeech 2扩展到FastSpeech 2s,它直接从文本生成波形,而不需要级联的梅尔频谱生成(声学模型)和波形生成(声码器)。FastSpeech 2s在中间隐藏层产生波形调理,通过丢弃梅尔频谱解码器使其在推理上更加紧凑,并达到与级联系统相当的性能。
文本到波形面临的挑战:
1 )由于波形包含了比梅尔频谱图更多的方差信息,因此输入和输出之间的信息差距比文本到频谱图生成时更大。2 )由于极长的波形样本和有限的GPU内存,很难在与全文序列相对应的音频片段上进行训练。
解决方法:
1 )考虑到使用方差预测器难以预测相位信息,我们在波形解码器中引入对抗训练,迫使其通过自身隐式恢复相位信息。2 )我们使用FastSpeech 2的梅尔谱图解码器,该解码器在全文序列上进行训练,以帮助文本特征提取。