FastSpeech2——TTS论文阅读-2.FastSpeech2 and 2s

时间:2024-01-21 06:57:30

2.1Motivation

解决自回归模型中one-to-many problem,fastspeech中teacher-student复杂,损失,不准确问题

2.2Model Overview

结构:

编码器(Encoder):编码器的作用是将输入的音素嵌入序列转换为隐藏的音素序列。音素嵌入是将文本中的每个音素转换为一个高维向量,这些向量包含了音素的丰富信息。

变异调节器(Variance Adaptor):变异调节器的功能是在隐藏序列中添加不同的变化信息,包括音长(duration)、音高(pitch)和能量(energy)。这些信息对于模拟自然语音的细微变化非常重要,有助于缓解文本到语音转换中的一对多映射问题。

Mel频谱解码器(Mel-spectrogram Decoder):这个部分将经过变异调节器调整后的隐藏序列并行转换成Mel频谱序列。Mel频谱是一种表示音频信号的方式,常用于语音处理领域。

训练:

  • 去除了教师-学生蒸馏流程:FastSpeech 2不再依赖从教师模型蒸馏得到的Mel频谱,而是直接使用真实的Mel频谱作为模型训练的目标,这样做可以避免在蒸馏过程中产生的信息损失,并提高语音质量的上限。
  • 变异调节器的改进:变异调节器不仅包括音长预测器,还新增了音高和能量预测器。音长预测器使用通过强制对齐得到的音素时长作为训练目标,这比从自回归教师模型的注意力图中提取的音素时长更为准确。新增的音高和能量预测器提供了更多的变化信息,这对于解决文本到语音转换的一对多映射问题非常重要。
  • 进一步简化训练流程:为了推进模型向完全端到端系统的发展,FastSpeech 2提出了一个变种FastSpeech 2s,它可以直接从文本生成波形,无需Mel频谱生成(声学模型)和波形生成(声码器)的级联过程。

2.3VARIANCE ADAPTOR

目标:The variance adaptor aims to add variance information to the phoneme hidden sequence, which can provide enough information to predict variant speech for the one-to-many mapping problem in TTS. 添加信息预测,以解决one-to-many problem

添加的信息:

音素时长(Phoneme Duration):它表示语音声音持续的时间长短。音素时长能够指示每个音素对应多少个Mel帧,并且为了便于预测,这个时长会被转换为对数域。

音高(Pitch):音高是传达情感的关键特征,它极大地影响语音的韵律(prosody)。在FastSpeech 2中,为了更好地预测音高轮廓中的变化,使用连续小波变换(CWT)将连续的音高序列分解成音高频谱,然后将这个频谱作为音高预测器的训练目标。

能量(Energy):能量指示了Mel频谱的帧级幅度,直接影响语音的音量和韵律。能量通过计算每个短时傅立叶变换(STFT)帧的振幅的L2范数得到。然后,与音高类似,能量被量化为256个可能的值,并编码成能量嵌入向量,添加到扩展的隐藏序列中。

对于每个信息,设置了相应的predictor:

  • 时长预测器:采用两层一维卷积网络,通过ReLU激活函数,后面跟着层正则化和dropout层,以及一个额外的线性层将隐藏状态投影到输出序列。它优化的是均方误差(MSE)损失,以录音中提取的真实时长作为训练目标。
  • 音高预测器:预测音高频谱,并在推理时使用逆连续小波变换(iCWT)将其转换回音高轮廓。音高预测器的架构和优化细节在附录D中有详细描述。
  • 能量预测器:预测能量的原始值而不是量化值,并且也使用MSE损失进行优化。

使用:

在训练过程中,这些真实的变异信息(时长、音高和能量)被直接输入到隐藏序列中,用于预测目标语音。在推理时,利用预测器预测出的目标值来合成目标语音。通过这样的设计,FastSpeech 2可以更准确地处理音素的持续时间,音高和能量的变化,生成更自然的语音输出。

2.4FastSpeech2s

跳过mel频谱阶段,实现实现了从文本直接生成波形的完全端到端的文本到语音合成的过程

Challenges:

信息差异:波形相比Mel频谱包含了更多的变化信息(例如,相位),这导致输入和输出之间的信息差距比文本到频谱生成时要大。

训练难度:由于波形样本极长,加上GPU内存的限制,很难对整个文本序列对应的音频剪辑进行训练。因此,只能在对应部分文本序列的短音频剪辑上进行训练,这使得模型难以捕捉不同部分文本序列中音素之间的关系,从而影响文本特征的提取。

Method:

对抗训练:由于使用变异预测器难以预测相位信息,FastSpeech 2s引入了对抗训练使波形解码器能够隐式地自行恢复相位信息。

借助Mel频谱解码器:利用FastSpeech 2中训练有素的Mel频谱解码器帮助文本特征提取,尽管在推理阶段不使用Mel频谱解码器。

2.5Discussion

discuss how FastSpeech 2 and 2s differentiate from previous and concurrent works.

非自回归并行生成:与自回归方法如Deep Voice系列和其他一些方法相比,FastSpeech 2和2s使用基于自注意力机制的前馈网络,能够并行生成Mel频谱或波形,提高了合成速度。

更多变化信息输入:FastSpeech 2和2s不仅预测时长,还提供额外的音高和能量信息作为输入,有助于减少输入文本和输出语音之间的信息差距,这在其他一些非自回归声学模型中不常见。

细粒度音高预测:相对于同期的一些工作在音素级别预测音高,FastSpeech 2和2s在帧级别上进行更细粒度的音高预测,使得语音的韵律更加自然。

连续小波变换:为了改善合成语音的韵律,FastSpeech 2和2s引入连续小波变换来建模音高的变化,这是以前的系统没有的功能。

完全非自回归架构:FastSpeech 2s采用完全非自回归的架构,这使得在推理时更加快速,而ClariNet等其他文本到波形模型则是联合训练自回归声学模型和非自回归声码器。

直接文本到波形的转换:与EATS等同时期工作相比,FastSpeech 2s不仅预测时长,还额外提供其他变化信息,以缓解TTS中的一对多映射问题。

与传统声码器的区别:之前的非自回归声码器需要将文本转换为语言或声学特征,FastSpeech 2s则直接从音素序列生成波形,省去了这一转换步骤,这使得FastSpeech 2s成为第一个完全并行的从文本到波形的系统。