语音合成 | FastSpeech:基于 Transformer 的非自回归 TTS
白御青 Lv5

论文标题:FastSpeech: Fast, Robust and Controllable Text to Speech
论文链接https://arxiv.org/abs/1905.09263
发表会议:NIPS 2019
核心贡献:提出基于Transformer的非自回归前馈网络,实现梅尔谱特征的并行化生成;设计音素时长预测模块与长度调节器,解决自回归TTS推理慢、鲁棒性差、可控性低的问题,在保持与自回归模型相当语音质量的前提下,实现推理速度的大幅提升。

一、摘要

主流TTS模型(如Tacotron2)采用“文本生成梅尔谱特征+Vocoder(如WaveNet)生成语音信号”的两级流程,其中梅尔谱特征生成多为自回归方式,存在推理速度慢、鲁棒性不足等问题。
本文提出的FastSpeech基于Transformer构建Feed-forward网络,实现梅尔谱的并行化生成,核心设计为:从encoder-decoder结构的教师模型中提取基于注意力的对齐结果,用于音素时长预测;设计Length Regulator模块,匹配输入音素序列与目标梅尔谱特征序列的长度,为并行生成奠定基础。
FastSpeech的核心效果:语音质量与自回归模型持平,几乎消除跳词、重复词问题;可灵活调控合成语音语速;相比自回归Transformer TTS,梅尔谱生成加速270倍,端到端语音合成整体加速38倍。

二、研究背景

2.1 主流TTS技术基础

  1. 声码器(Vocoder):主流方法包括Griffin-Lim、WaveNet、Parrallel WaveNet、WaveGlow等,负责将梅尔谱特征转换为语音信号;
  2. 基于神经网络(NN)的TTS:相比传统拼接式、参数化TTS方法,在合成语音质量上有显著改进,成为当前研究主流。

2.2 自回归TTS模型的核心缺陷

基于NN的TTS声学模型生成梅尔谱特征时,主流采用自回归方式,因梅尔谱特征序列长度可达数百甚至上千,导致模型存在以下关键问题:

  1. 推理速度慢:推理阶段每个时刻的特征生成条件依赖于前序生成的特征,无法并行计算,成为TTS落地的效率瓶颈;
  2. 训练与推理效率失衡:CNN/Transformer相比RNN模型,训练阶段可实现并行化,训练速度更快,但推理阶段仍受自回归逻辑限制,效率低下;
  3. 合成鲁棒性差:Transformer自回归推理存在误差累积传递问题,且注意力机制获取的对齐结果易出错,导致合成语音出现跳词、重复词等问题;
  4. 合成可控性低:自回归方式逐一生成梅尔谱特征,无法直接、方便地调控语音的速度、韵律等关键特征。

2.3 现有非自回归方法的不足

针对自回归模型的缺陷,已有部分非自回归TTS相关研究,但仍存在明显不足:

  1. 此前的非自回归方法仅聚焦推理加速,未同时实现语音质量提升与合成可控性增强;
  2. Parrallel WaveNet、WavGlow等仅为并行化声码器,声学模型生成梅尔谱特征的过程仍为自回归方式;
  3. 百度提出的首个非自回归TTS模型存在两大缺陷:模型参数量为FastSpeech的2-3倍;无法完全解决注意力对齐带来的跳词、重复词问题。

2.4 本文核心解决思路

结合文本与语音的单调对齐特征,提出非自回归的梅尔谱特征生成模型FastSpeech,核心采用基于Transformer自注意力机制的前向神经网络+1维卷积操作,同时设计Length Regulator解决输入音素序列与输出梅尔谱特征序列的长度不匹配问题,实现“并行生成+质量保障+可控性强”的三重目标。

三、模型结构

FastSpeech的核心模块包括Feed-Forward Transformer、Length Regulator、音素时长预测模型,整体网络链路为Phoneme FFT + Length Regulator + Mel FFT,全程基于并行化逻辑实现音素序列到梅尔谱特征序列的端到端生成。

3.1 Feed-Forward Transformer

该模块是对传统Transformer的改进,为FastSpeech的核心特征提取单元,分为Phoneme FFT(靠近输入音素序列侧)和Mel FFT(靠近输出梅尔谱特征序列侧),各由N个FFT Block构成。

  1. FFT Block核心结构:Multi-Head Self-Attention + 1维卷积 + 残差连接 + LayerNorm + Dropout,整体框架与传统Transformer一致;
  2. 关键改进:将传统Transformer中position-wise FNN(两层全连接+ReLU激活)替换为两层1维卷积。论文认为,音素/字符或梅尔谱特征的相邻隐含状态联系更紧密,1维卷积可有效控制感受野,更适配TTS任务特征,实验证明该设计效果优于传统FFN;
  3. 核心参数:音素embedding大小、自注意力隐层大小均为384;attention head头数为2;1d卷积输出384维(第一层3841536,第二层1536384),卷积核大小13;输出层为38480,用于预测80维梅尔谱特征。

3.2 Length Regulator

解决输入音素序列长度 < 输出梅尔谱特征序列长度的核心模块,是实现并行生成与合成可控性的关键。

  1. 核心功能:根据音素时长预测模型输出的音素持续时长,对音素序列进行上采样,使上采样后的音素序列与目标梅尔谱特征序列长度完全匹配,为后续并行化生成梅尔谱奠定基础;
  2. 可控性实现:引入速度控制因子α,在音素预测时长上乘以该因子,即可实现合成语音速度的灵活调控;在相邻音素之间增加停顿时间,可实现合成语音韵律的精准控制。

3.3 音素时长预测模型

为Length Regulator提供音素持续时长信息,是实现序列长度匹配的基础,同时解决自回归模型的注意力对齐问题。

  1. 网络结构:由两层1维卷积+LayerNorm+Dropout构成((1维卷积+LayerNorm+Dropout)*2);1d卷积核大小为3,输入输出维度均为384;
  2. 训练方式:挂载在音素侧FFT的最顶层FFT块之上,与FastSpeech主模型一同训练,属于多任务训练;将音素时长预测视为回归任务,采用MSE Loss衡量预测时长与真实时长的误差;
  3. 标签来源:无法直接获取,由离线训练的自回归Transformer TTS教师模型提供。

3.4 音素时长模型的训练

  1. 先训练一个基于encoder-attention-decoder结构的自回归Transformer TTS模型,作为教师模型;
  2. 针对FastSpeech的训练样本,提取教师模型的自注意力对齐结果,计算每个注意力头的focus rate F(表征注意力头的注意力矩阵呈现对角矩阵的程度),选择F最大的注意力头;
  3. 利用选中的注意力头生成的对齐结果,作为音素时长预测模型的训练label。

四、实验配置

实验聚焦音素到梅尔谱的端到端生成模型,不讨论前端文本转音素(g2p)工具、后端声码器的设计与优化,所有实验基于英文数据集展开,核心配置如下。

4.1 数据集与数据处理

  1. 数据集:LJSpeech数据集,包含13100条英文语音-文本数据对,总时长约24小时;
  2. 数据集划分:训练集/验证集/测试集 = 12500/300/300;
  3. 文本端处理:使用内部g2p工具将文本全部转换为音素序列,音素总数为51个(包含标点符号);
  4. 语音端处理:将原始语音波形转换为80维梅尔谱特征,帧大小(frame_size)=1024,步长(hop_size)=256;
  5. 声码器:实验最终采用WaveGlow将梅尔谱特征转换为语音信号。

4.2 模型参数设置

  1. FastSpeech主模型:音素端FFT、梅尔特征端FFT各6个;输出层为384*80,预测80维梅尔谱特征;
  2. 音素时长预测模型:1d卷积核大小为3,输入输出维度均为384;
  3. Transformer TTS教师模型:6层encoder + 6层decoder;将position-wise FNN替换为2层1d CNN;主要用于提取音素时长对齐信息、生成梅尔谱特征,为FastSpeech提供序列级知识蒸馏的标签。

4.3 训练流程

FastSpeech为基于知识蒸馏的模型,训练过程依赖教师模型的先验知识,整体分为两步:

  1. 训练Transformer TTS教师模型:优化器采用Adam(β₁= 0.9,β₂= 0.98,ε = 10^-9);每张GPU卡batch_size=16,使用4张V100 GPU训练;训练80 steps即可收敛;
  2. 知识蒸馏训练FastSpeech:利用训练完成的教师模型提取两类信息,作为FastSpeech的训练依据——提取注意力对齐信息,作为音素时长预测模型的训练label;提取生成的梅尔谱特征信息,作为FastSpeech梅尔谱生成任务的训练数据对,实现序列级知识蒸馏

五、实验结果

实验从语音质量、推理速度、合成鲁棒性、长度控制灵活性、消融实验五个维度验证FastSpeech的性能,对比基线模型包括Tacotron2、Transformer TTS(自回归)、Merlin(传统参数化TTS)。

5.1 语音质量

由20位评测者进行平均意见分(MOS) 评分,结果带95%置信区间,核心结论:

  1. 真实音频(GT)MOS为4.41±0.08,真实音频的梅尔谱+WaveGlow声码器的MOS为4.00±0.09,声码器是语音质量损耗的主要因素
  2. 声学模型层面,FastSpeech(3.84±0.08)与Tacotron2(3.86±0.09)、Transformer TTS(3.88±0.09)三者的MOS评分无显著差异,证明FastSpeech在非自回归并行生成的前提下,保持了与自回归模型相当的语音质量
  3. 所有基于NN的TTS模型均远优于传统参数合成方法Merlin(2.40±0.13)。

5.2 推理速度

以梅尔谱特征生成的延迟(Latency)、加速比(Speedup)为核心指标,核心结论:

  1. 相比自回归Transformer TTS,FastSpeech生成梅尔谱特征的耗时为0.025±0.005s,加速比达269.40x(约270倍);
  2. 端到端语音合成(Mel + WaveGlow)层面,FastSpeech实现38.30x(约38倍)加速;
  3. 速度趋势上,FastSpeech生成梅尔谱的速度随音频长度变长增长极慢,而Transformer TTS的生成速度随梅尔谱长度增加显著下降,充分体现并行化生成的核心优势。

5.3 合成语音鲁棒性

在50个高难度句子上测试模型的鲁棒性,统计重复词(Repeats)、跳词(Skips)、错误句子数(Error Sentences)及错误率(Error Rate),核心结论:

  1. Tacotron2的错误率为24%(4次重复、11次跳词、12个错误句子);Transformer TTS的错误率为34%(7次重复、15次跳词、17个错误句子);
  2. **FastSpeech的错误率为0%**,无任何重复词、跳词问题,无错误句子生成,几乎完全消除了自回归模型的词错误问题,合成鲁棒性大幅提升。

5.4 长度控制的灵活性

通过Length Regulator验证FastSpeech对合成语音的可控性,核心结论:

  1. 语速调控:支持0.5x(减速)、1.0x(原速)、1.5x(加速)等多倍速调控,梅尔谱特征序列长度随速度因子线性变化,且调控后语音的基音(pitch)保持稳定,无失真
  2. 韵律调控:可在任意音素之间增加停顿时间,通过修改梅尔谱特征实现合成语音韵律的灵活调整,进一步提升模型的可控性。

5.5 消融实验

采用对比平均意见分(CMOS) 评估FastSpeech核心模块的必要性,核心结论:

  1. 移除FFT Block中的1D卷积,CMOS下降0.113,证明1D卷积的设计更适配TTS任务,对模型特征提取能力至关重要;
  2. 移除序列级知识蒸馏(不使用教师模型的梅尔谱特征作为训练标签),CMOS下降0.325,证明知识蒸馏是FastSpeech保持与自回归模型相当语音质量的关键

六、关键结论

  1. 并行化生成实现极致加速:FastSpeech实现了梅尔谱特征的真正并行化生成,相比自回归Transformer TTS,梅尔谱生成阶段加速约270倍,端到端(梅尔谱+WaveGlow)语音合成加速约38倍,且生成速度随梅尔谱序列长度增加几乎无衰减,解决了自回归TTS推理速度慢的核心痛点。
  2. 非自回归未牺牲语音质量:在LJSpeech数据集上的MOS评分验证,FastSpeech的合成语音质量与Tacotron2、Transformer TTS等主流自回归TTS模型持平,远优于传统参数化TTS方法Merlin,证明非自回归架构可在加速的同时保证声学模型的合成效果。
  3. 鲁棒性大幅提升,消除词错误问题:依托音素时长预测模型的精准对齐与非自回归无误差累积的特性,FastSpeech在高难度句子测试中错误率为0,完全消除了自回归模型因误差传递、注意力对齐错误导致的跳词、重复词问题。
  4. 实现语音的灵活可控:通过Length Regulator的速度控制因子α和音素间停顿设置,可实现合成语音语速的线性调控和韵律的灵活调整,且调控过程中语音基音保持稳定无失真,弥补了自回归TTS可控性差的缺陷。
  5. 核心模块设计适配TTS任务特性:将Transformer的FFN替换为1D卷积,更贴合音素、梅尔谱特征的局部关联性,有效提升模型特征提取能力;序列级知识蒸馏则是FastSpeech保持语音质量的关键,移除后模型效果出现显著下降。
  6. 参数量更优,超越现有非自回归方法:相比百度提出的首个非自回归TTS模型,FastSpeech参数量仅为其1/2~1/3,且从根本上解决了注意力对齐带来的词错误问题,是兼具轻量性与效果的非自回归TTS方案。

七、研究思考

  1. FastSpeech依赖教师模型(自回归Transformer TTS)生成音素时长信息和梅尔谱训练标签,属于典型的知识蒸馏任务,模型效果或受限于教师模型的性能;尤其是Transformer TTS本身的合成鲁棒性存在不足,其badcase可能会传递至FastSpeech,成为模型性能的天花板。
  2. 目前音素时长预测模型的训练标签由TTS教师模型提取,是否可改用ASR模型离线获取?ASR模型的训练数据量通常更大,对音素与语音的对齐学习更充分,或能提升音素时长预测的鲁棒性,进而优化FastSpeech的整体合成效果。
  3. FastSpeech实现了语速、韵律的基础调控,后续可探索对语音情感、音色、语调的精准调控,进一步提升TTS模型的个性化、定制化能力。
  4. 实验仅基于英文LJSpeech数据集展开,FastSpeech在多语言、低资源语言场景下的合成效果、鲁棒性仍需验证,是后续的重要研究方向。
  5. 可探索摆脱对教师模型的依赖,设计端到端的非自回归TTS模型,直接从文本训练生成梅尔谱特征,降低模型的训练复杂度和对先验模型的依赖。