TTS 核心模型详解
文本转语音(Text-to-Speech, TTS)技术近年来经历了从级联式(pipeline)到端到端、再到扩散/语言模型生成的多次范式跃迁。本页详解五大核心经典模型:Tacotron2(注意力对齐的经典)、FastSpeech2(非自回归的量产首选)、VITS(端到端对抗训练)、HiFi-GAN(高速声码器)、Bark(零样本生成式 TTS),并覆盖 2024-2026 年新一代模型:F5-TTS、NaturalSpeech 3、VALL-E 2、MaskGCT、CosyVoice / GPT-SoVITS。前置阅读:语音合成 TTS 概述。
TTS 的本质挑战是:给定一段文字,合成出自然流畅的语音。这需要解决三个问题——每个字发什么音(发音)、每个音持续多长(韵律)、每个时刻的声波长什么样(波形)。
不同的模型用不同策略回答这三个问题:
- Tacotron2 像一个”边听边念”的朗诵者:用注意力机制逐字对齐文字和语音帧,再由声码器把频谱变成波形。效果好但速度慢(自回归,逐帧生成)。
- FastSpeech2 像一个”预排练好的播音员”:一次性预测所有音素的时长和特征,非自回归地并行生成——快几十倍,质量也不逊色。
- VITS 像”一条龙全包”:从文字直接到波形,端到端一体训练,不需要分模块。用对抗训练和流模型生成高质量波形。
- HiFi-GAN 是”超级声码器”:用生成对抗网络从频谱生成极高质量的波形,速度比传统声码器快数百倍。
- Bark 是”零样本声音克隆”:用大语言模型的思路,给一段文字描述或声音样本,就能用任意说话人的声音生成语音,甚至加笑声、叹息等非语言声音。
- F5-TTS(2024) 像一位”不排练的即兴演员”:用 Flow Matching(流匹配,一种类似 Diffusion 的生成框架但推理更快)做生成,零样本克隆无需微调,给一段参考音频就能直接模仿。
- NaturalSpeech 3(2024) 像一位”声优教练”:把语音拆成 content(内容)、prosody(韵律)、timbre(音色)、acoustic(声学细节)四个独立维度,分别建模,实现”换音色不动韵律”的精细控制。
- VALL-E 2 / MaskGCT(2024) 代表”用语言模型做 TTS”的新范式——把音频编码成离散 token,用类似 GPT 的自回归或类似 MaskGIT 的并行方式生成,天然支持零样本。
Tacotron2:注意力对齐
Section titled “Tacotron2:注意力对齐”Tacotron2 是一个 encoder-decoder 架构:
- 编码器:将输入文本转为字符序列,经卷积 + 双向 LSTM 编码为上下文向量
- 注意力机制:解码器每生成一帧梅尔频谱时,注意力机制决定”看”编码器中的哪些字符——实现文本到语音的时间对齐
- 解码器:自回归地逐帧生成梅尔频谱,每步输出一帧 + 一个”停止预测”概率
- 声码器(WaveNet):将梅尔频谱转为最终的音频波形
Location-Sensitive Attention(位置敏感注意力)如何稳定对齐
Section titled “Location-Sensitive Attention(位置敏感注意力)如何稳定对齐”Tacotron2 的关键创新之一是使用 Location-Sensitive Attention(位置敏感注意力,LSA),它在前向注意力(additive attention)的基础上加入了位置信息,具体做法是:
- 累加注意力权重:每一步解码时,将之前所有步的注意力权重矩阵累加,得到一个”位置累积向量”——它记录了”文本的哪些部分已经被读过了”。
- 位置特征卷积:对这个累积权重向量做一维卷积(Conv1D),提取出”阅读进度”的局部模式。
- 混合打分:注意力分数 = 编码器内容与解码器隐状态的相似度 + 位置特征的贡献。即 ,其中 是位置特征。
为什么能稳定? 传统内容注意力只看”当前解码器状态和文本编码器状态像不像”,容易在相似发音的字符之间来回跳跃(例如”shi”和”si”),导致”跳词”或”重复念”。加入位置约束后,注意力被”推着往前走”——已经读过的字符在累积权重中占据很大数值,卷积提取的位置特征会强烈倾向于选择尚未读过的相邻区域,从而形成一条沿对角线推进的稳定对齐路径。这本质上是在内容匹配(content-based)和位置约束(location-based)之间做加权平衡,显著降低了长句子中的对齐失败概率。
自回归和注意力对齐使 Tacotron2 的合成质量很高,但存在两个痛点:注意力对齐偶发失败(虽然 LSA 大幅缓解了这个问题),且逐帧生成速度极慢。
FastSpeech2:非自回归 + 时长预测
Section titled “FastSpeech2:非自回归 + 时长预测”FastSpeech 系列的核心突破是完全并行生成:
- 编码器:将音素序列编码为隐藏状态
- 时长预测器:预测每个音素持续多少帧
- 根据时长展开:将每个音素的隐藏状态按预测时长复制展开,实现音素到帧的映射
- 变体适配器:分别预测音高(pitch)和能量(energy),让用户可以控制韵律
- 解码器:一次性并行生成所有帧的梅尔频谱
时长预测器如何从教师模型蒸馏时长信息
Section titled “时长预测器如何从教师模型蒸馏时长信息”FastSpeech2 的时长预测器不是凭空学习的,而是从教师模型(通常是 Tacotron2)的注意力矩阵中蒸馏出来的:
- 训练教师模型:先训练一个 Tacotron2,它的注意力矩阵 记录了每个文本帧对每个梅尔帧的注意力权重。
- 提取对齐:对每个文本位置 ,找到注意力权重最大的梅尔帧位置 ,从而建立一个”文本位置 → 梅尔帧位置”的单调映射。
- 计算时长:每个音素 的时长 = 它在梅尔帧中占据的帧数 = (相邻文本位置对应的梅尔帧位置之差)。
- 蒸馏训练:将这些提取出的时长作为伪标签(pseudo-labels),训练 FastSpeech2 的时长预测器(一个两层数字卷积 + 线性层的回归网络),用 MSE 损失。
这样做的核心优势是:FastSpeech2 自己不需要学习注意力对齐(这是自回归模型中最难的部分),而是直接站在教师模型的”肩膀”上获得可靠的时长信息,从而可以完全非自回归地并行生成。这个”教师-学生”蒸馏范式后来成为非自回归 TTS 的标准做法。
FastSpeech2 通过显式建模时长、音高、能量三个因素,实现了高质量 + 快速 + 可控的平衡,是工业量产的主流选择。
VITS:端到端 + 对抗训练
Section titled “VITS:端到端 + 对抗训练”VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)将声学模型和声码器统一到一个模型中:
- 文本编码器:编码音素序列
- 标准化流(Normalizing Flow):建立梅尔频谱和隐空间之间的可逆映射
- 变分自编码器(VAE):将后验分布学习语音的多样性表达
- 解码器(HiFi-GAN 变体):直接从隐表示生成波形
- 对抗训练:判别器区分真假波形,生成器学习产生逼真的音频
Stochastic Duration Predictor(随机时长预测器)如何提升自然度
Section titled “Stochastic Duration Predictor(随机时长预测器)如何提升自然度”传统时长预测器(如 FastSpeech2)是确定性的——给定文本,输出固定的时长。但真人说话时,同一个句子的节奏每次都不完全一样:会在不同位置停顿、拉长或加快。VITS 引入 Stochastic Duration Predictor(随机时长预测器) 来建模这种自然变异:
- 基于流的概率建模:时长预测器不是回归一个固定值,而是用一个**标准化流(Normalizing Flow)**建模条件概率分布 。它从标准正态分布采样一个随机向量 ,通过可逆变换 映射为时长向量 。
- 训练时用真实时长:用教师模型(Tacotron2 或 MAS,Monotonic Alignment Search——VITS 自带的单调对齐搜索算法)提取的真实时长作为目标,通过最大似然训练流模型。
- 推理时注入随机性:合成时,从正态分布重新采样一个 ,得到一组略有不同的时长——这就自然地引入了”人味”的节奏变化。
为什么更自然? 人的语速、停顿、重音长短本来就有随机性。确定性时长预测出来的语音节奏过于”规整”,听多了会发现有一种微妙的机械感(一种听感上的”节拍器效应”)。随机时长预测器让每次合成的节奏都有细微差异,更接近真人录音的自然韵律。同时,由于流模型是条件于说话人 ID 的,不同说话人可以有不同的节奏风格。
端到端训练消除了模块间的信息损失,VITS 的自然度接近真人录音。缺点是训练复杂、计算量大。
HiFi-GAN:高速高保真声码器
Section titled “HiFi-GAN:高速高保真声码器”HiFi-GAN(High Fidelity GAN)是一个纯生成对抗网络的声码器:
- 生成器:全卷积上采样网络,从梅尔频谱生成波形。用多感受野融合(MSMD,Multi-Scale Multi-Dilation)捕捉不同时间尺度的波形模式
- 多周期判别器(MPD):用不同周期将波形 reshape 为二维,检测不同频率的伪影
- 多尺度判别器(MSD):在不同时间分辨率上检测波形质量
Multi-Period Discriminator 如何通过 reshape 检测周期性伪影
Section titled “Multi-Period Discriminator 如何通过 reshape 检测周期性伪影”语音波形具有准周期性——浊音段的波形按基频(F0)重复,清音段则较为随机。GAN 生成的波形常在周期性结构上出现细微伪影(artifact),这些伪影在原始 1D 波形上很难被判别器直接捕捉。HiFi-GAN 的 Multi-Period Discriminator(MPD,多周期判别器) 的核心创新就是将 1D 波形 reshape 为 2D 矩阵:
- 选择多个周期值:MPD 使用一组预设的周期值 (都是质数,覆盖不同的基频范围)。
- reshape 为 2D:将长度为 的 1D 波形 reshape 为形状 的 2D 矩阵。例如 时,波形 变成一个每行 5 个元素的矩阵。
- 2D 卷积判别:对这个矩阵做 2D 卷积(而不是 1D 卷积)。关键洞察是:当 P 恰好匹配波形的真实周期时,reshape 后矩阵的每一行就是波形的一个完整周期,相邻行之间的列向模式高度相似——真实语音呈现清晰的周期性纹理,而 GAN 生成的伪影会破坏这种纹理,2D 卷积能敏锐捕捉到列方向的异常。
- 多周期并行:不同 P 值覆盖不同基频范围(高基频用小 P,低基频用大 P),多个子判别器并行工作,综合判断波形质量。
这个设计巧妙地把”检测 1D 周期性伪影”转化为”检测 2D 图像纹理异常”,让 2D 卷积网络擅长的纹理识别能力直接发挥作用。配合多尺度判别器(MSD,在不同采样率分辨率上做 1D 卷积判断全局波形形态),MPD + MSD 的组合让 HiFi-GAN 在声码器质量评测中达到了 WaveNet 级别的 MOS(Mean Opinion Score,平均主观意见分)。
HiFi-GAN 在 GPU 上生成速度比实时快数百倍,质量与 WaveNet 相当,是当前 TTS 系统的事实标准声码器。
Bark:零样本生成式 TTS
Section titled “Bark:零样本生成式 TTS”Bark 由 Suno 开发,将 TTS 视为”条件音频生成”问题,思路类似大语言模型:
- 将音频离散化为 EnCodec 神经编解码器的 token
- 用一个自回归 Transformer 在文本条件下生成音频 token 序列
- 支持零样本声音克隆(提供 10 秒参考音频即可模仿说话人)
- 能生成非语言声音(笑声、停顿、清嗓子)和背景音效(音乐、环境声)
Bark 的灵活性和零样本能力代表了 TTS 向”通用语音生成”发展的趋势。
2024-2026 新一代模型
Section titled “2024-2026 新一代模型”随着扩散模型(Diffusion)和音频语言模型的成熟,TTS 在 2024 年迎来了新一轮架构革新。以下模型代表了当前最前沿的方向。
F5-TTS:Flow Matching 零样本克隆(2024)
Section titled “F5-TTS:Flow Matching 零样本克隆(2024)”F5-TTS(A Fairytaler that Fakes Fluent and Faithful Speech with Fabulous Flow Matching)由上海交通大学等人于 2024 年提出,是开源社区最有影响力的新一代 TTS 之一。
- 核心创新:用 Flow Matching(流匹配) 替代自回归解码。Flow Matching 是一种类似 Diffusion 的连续生成框架——学习一个将简单分布(高斯噪声)“连续流动”到目标分布(梅尔声谱图)的速度场(vector field),推理时沿学到的速度场做 ODE 积分即可生成。相比 Diffusion 的随机微分方程(SDE),Flow Matching 用确定性 ODE 路径,推理步数更少、速度更快。
- 架构:
- 文本编码器:用 Conformer(卷积 + Transformer 混合)提取语义特征
- DiT(Diffusion Transformer):在 Flow Matching 框架下,以文本特征和参考音频特征为条件,将高斯噪声逐步”流动”为梅尔声谱图。DiT 把 Transformer 用作去噪/流动网络,替代 U-Net
- Vocoder:用 BigGAN 将梅尔声谱图转为波形
- 零样本克隆:推理时只需提供一段参考音频(~10 秒),模型将其语义和音色作为条件,无需任何微调即可克隆声音——这比 VITS / FastSpeech2 需要训练说话人嵌入的方式方便得多。
- 优势:开源、零样本效果惊艳、支持中英文、无需复杂的前端对齐(不做显式时长预测,对齐隐含在 Flow Matching 的条件中)。
NaturalSpeech 3:因子化分解语音建模(2024)
Section titled “NaturalSpeech 3:因子化分解语音建模(2024)”NaturalSpeech 3 由微软出品,核心思想是 disaggregation(分解)——将复杂的语音信号分解为多个因子化(factorized)的子空间,分别建模和控制。
- 四个子空间:
- Content(内容):语音中承载语义信息的部分,用 WavLM 提取的内容特征,经 Normalizing Flow 分解
- Prosody(韵律):语调、节奏、重音,用 Normalizing Flow 建模
- Timbre(音色):说话人身份的声音特质,用 Normalizing Flow 做域对抗分解,分离出与内容无关的音色因子
- Acoustic(声学细节):环境、录音条件等细节,由 Diffusion 模型生成
- 生成流程:给定文本和目标说话人,Content 子空间从文本生成内容因子,Prosody 子空间预测韵律因子,Timbre 子空间从参考音频提取音色因子,Acoustic 子空间用 Diffusion 将这些因子合成最终波形。
- 关键能力:因子化使得可以独立控制每个维度——例如”用 A 的音色、B 的韵律、C 的内容”自由组合,或者做音色迁移而不改变韵律。这在传统 TTS 中极难做到。
- 效果:零样本克隆的说话人相似度和自然度在 2024 年的 NS3 论文中达到了当时的 SOTA。
VALL-E 2:语言模型式零样本 TTS(2024)
Section titled “VALL-E 2:语言模型式零样本 TTS(2024)”VALL-E 2 是微软继 VALL-E 之后的改进版,延续了用语言模型(LM)做 TTS 的思路:
- 音频离散化:用 EnCodec 神经编解码器将连续音频压缩为离散 token(每秒约几十到几百个 token),类比文本中的词。
- 自回归生成:用一个类似 GPT 的 Decoder-only Transformer,以文本 + 参考音频 token 为条件,自回归地生成目标音频的 token 序列——和 ChatGPT 生成文字完全一样的 next-token 预测机制,只不过”词表”是音频 token。
- 改进点:VALL-E 2 引入了 Repetition-aware Sampling(重复感知采样,避免自回归生成的重复 token 死循环)和 Codec Decomposition(码本分层建模,先生成粗粒度语义 token 再细化声学 token),显著提升了稳定性和音质。
- 零样本能力:仅需 3 秒参考音频即可克隆声音,达到与真人录音可比的水平。
- 意义:证明了 TTS 可以完全统一到语言模型框架下,和 LLM 共用架构甚至共训练——这条路线后来被 GPT-4o、CosyVoice 等广泛采纳。
MaskGCT:掩码生成式并行 TTS(2024)
Section titled “MaskGCT:掩码生成式并行 TTS(2024)”MaskGCT(Masked Generative Codec Transformer)由香港中文大学(深圳)和趣丸网络于 2024 年提出,用掩码语言模型的思路做 TTS:
- 灵感来源:借鉴 MaskGIT(图像生成中的掩码预测模型)——训练时随机遮盖目标 token 让模型预测,推理时从全掩码开始,经过几轮迭代逐步去掩码,每轮并行预测多个 token。
- 架构:将音频用 SpeechTokenizer 编码为两层 token(语义层 + 声学层),分别用两个 MaskGCT 模型做掩码预测生成。文本→语义 token→声学 token→波形。
- 优势:
- 并行生成:相比 VALL-E 的逐 token 自回归,MaskGCT 用几轮(如 8-12 轮)迭代并行生成全部 token,推理速度更快
- 非自回归但不丢质量:传统非自回归 TTS(FastSpeech2)质量不及自回归,MaskGCT 用迭代精修的方式弥补了这个差距
- 零样本:支持参考音频条件化,实现声音克隆
- 全开源:模型权重和训练代码完全开源,是学术界重要的 TTS baseline。
CosyVoice / GPT-SoVITS:中文社区两大开源方案
Section titled “CosyVoice / GPT-SoVITS:中文社区两大开源方案”在中文 TTS 领域,2024 年涌现了两个影响力极大的开源项目:
-
CosyVoice(阿里通义实验室):
- 架构融合了 LM(语言模型)+ Flow Matching:先用 LM 生成语义 token(类似 VALL-E),再用 Flow Matching + Vocoder 生成波形
- 支持零样本克隆、跨语言合成、指令控制情感(如”用悲伤的语气说”)
- 多语言支持好(中、英、日、韩、粤),中文效果尤其出色
- 提供 CosyVoice 2(2024 年底发布),引入流式合成,首字延迟降至约 150ms,接近实时对话需求
-
GPT-SoVITS(RVC-Boss 开源社区):
- 架构上结合了 GPT(自回归语义 token 生成)+ SoVITS(VITS 式声码器),名字由此而来
- 主打少量数据微调声音克隆——只需 1 分钟参考音频即可训练一个高质量个人音色模型
- 社区生态极其活跃,有大量预训练音色模型、WebUI 工具、一键训练脚本
- 适合个人用户和中小团队快速搭建定制 TTS
这两个项目让高质量的中文 TTS 和声音克隆从”大厂专属”变成了”人人可用”,极大地推动了 TTS 在中文社区的普及。
TTS 技术演进路线
Section titled “TTS 技术演进路线”FastSpeech2 非自回归生成流程
Section titled “FastSpeech2 非自回归生成流程”F5-TTS Flow Matching 生成流程
Section titled “F5-TTS Flow Matching 生成流程”用 VITS 模型合成中文语音
Section titled “用 VITS 模型合成中文语音”# pip install transformers torchimport torch, scipy.io.wavfile as wavfilefrom transformers import VitsModel, AutoTokenizer
# 加载多语言 VITS 模型(支持中文)model = VitsModel.from_pretrained("facebook/mms-tts-zho")tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-zho")model.eval()
# 合成中文语音text = "人工智能正在改变我们的生活方式。"inputs = tokenizer(text, return_tensors="pt")with torch.no_grad(): output = model(**inputs).waveform # 输出 1D 波形张量
# 保存为 WAV 文件(采样率通常为 16000 或 24000)audio = output.squeeze().numpy()wavfile.write("output_zh.wav", model.config.sampling_rate, audio)print(f"合成完成,采样率 {model.config.sampling_rate} Hz")用 Bark 进行零样本声音克隆
Section titled “用 Bark 进行零样本声音克隆”# pip install transformers torchfrom transformers import AutoProcessor, BarkModelimport scipy.io.wavfile as wavfileimport torch
processor = AutoProcessor.from_pretrained("suno/bark")model = BarkModel.from_pretrained("suno/bark")model = model.to("cuda" if torch.cuda.is_available() else "cpu")
# 用 [clears throat] 等标签可以生成非语言声音text = "[clears throat] 大家好,今天天气真不错。"inputs = processor(text, voice_preset="v2/zh_speaker_0").to(model.device)with torch.no_grad(): audio = model.generate(**inputs).cpu().numpy().squeeze()
wavfile.write("bark_output.wav", model.generation_config.sample_rate, audio)print("零样本 TTS 合成完成")用 CosyVoice 进行零样本中文声音克隆(2024 新方案)
Section titled “用 CosyVoice 进行零样本中文声音克隆(2024 新方案)”# pip install cosyvoice 或从 GitHub 克隆: https://github.com/FunAudioLLM/CosyVoice# CosyVoice 2 支持零样本克隆,仅需几秒参考音频from cosyvoice.cli.cosyvoice import CosyVoice2from cosyvoice.utils.file_utils import load_wavimport torchaudio
# 加载预训练 CosyVoice 2 模型model = CosyVoice2("pretrained_models/CosyVoice2-0.5B")
# 零样本克隆:提供参考音频 + 参考文本 + 目标文本prompt_audio = load_wav("reference_voice.wav", 16000) # 3-10 秒参考音频prompt_text = "这是参考音频对应的文字内容。"target_text = "今天天气真好,我想出去走走。"
# 生成克隆语音for i, chunk in enumerate(model.inference_zero_shot( target_text, prompt_text, prompt_audio, stream=False)): torchaudio.save(f"cloned_{i}.wav", chunk["tts_speech"], 24000) print(f"第 {i} 段克隆语音已保存")选型建议(含 2024-2026 新方案)
Section titled “选型建议(含 2024-2026 新方案)”- 量产首选 FastSpeech2 + HiFi-GAN:质量稳定、推理快(GPU 上几十毫秒)、可控韵律。NVIDIA NeMo 和 Coqui TTS 都提供完整的训练和部署方案。适合对延迟和稳定性要求高的生产环境。
- 追求极致自然度用 VITS:端到端训练避免了级联损失,自然度最好但训练成本高,适合有一定数据量的定制化场景。
- 需要零样本克隆 / 快速定制 → 优先新一代模型:
- F5-TTS:开源、中英文效果好、零样本无需微调,适合需要”给一段参考音频就克隆”的场景
- CosyVoice 2:中文效果最佳、支持流式(首字延迟 ~150ms)、情感指令控制,适合中文产品和实时对话
- GPT-SoVITS:社区生态最活跃、少量数据(1 分钟)即可微调训练,适合个人定制和中小团队
- 声码器选 HiFi-GAN:无论用什么声学模型,声码器阶段几乎都用 HiFi-GAN(V1/V2/V3),新一代模型中也仍是主流 Vocoder(F5-TTS 用 BigGAN 变体,CosyVoice 用 Flow Matching + HiFi-GAN 混合)。详见语音合成 TTS 概述。
- 需要精细控制(换音色不动韵律)→ NaturalSpeech 3 思路:因子化分解让四个维度可独立控制,适合高级音频编辑和创意应用。
- 音素化处理很重要:中文需要先用 G2P(Grapheme-to-Phoneme)将汉字转为带声调的拼音/音素序列,前端文本规范化(数字、日期、缩写)也很关键。新一代 LM 式模型(VALL-E 2、CosyVoice)部分降低了对精确 G2P 的依赖,但前端规范化仍不可省。
- 声音克隆要合规:零样本克隆(Bark、F5-TTS、VALL-E 2、CosyVoice、GPT-SoVITS)可以几秒内复制声音,但克隆真实人物声音涉及法律和伦理问题(肖像权、声音权、反欺诈),使用时务必获得授权。
- 长文本分段合成:超过 200 字的文本建议按句子分段,分别合成再拼接,避免注意力衰减或自回归漂移导致质量问题。流式模型(CosyVoice 2)可以在一定程度上缓解此问题。
- 虚拟助手与智能音箱:Siri、小爱同学、Alexa 的语音输出均使用定制 TTS,追求低延迟(小于 200 毫秒首字延迟)。2024 年起,GPT-4o 等实时语音对话产品开始用流式 LM-TTS(类似 CosyVoice 2 架构)实现”可打断”的自然对话。
- 有声书与播客:Amazon Audible、喜马拉雅用 TTS 批量生成有声书,VITS/FastSpeech2 级联方案在长文本稳定性上表现优异;新一代 F5-TTS / CosyVoice 在音色多样性上更进一步。
- 视频配音与字幕朗读:剪映、CapCut 提供多语言 AI 配音,背后是 FastSpeech2 或 VITS 变体;2025 年起部分平台已接入 F5-TTS / CosyVoice 提供零样本音色。
- 辅助沟通:为渐冻症、失语症患者生成个性化声音(声音克隆),Mozilla Common Voice 项目与此密切相关。NaturalSpeech 3 的因子化分解让”保留患者韵律 + 替换健康声源音色”成为可能。
- 游戏 NPC 语音:Bark、F5-TTS 等模型可以为游戏角色生成情感丰富的动态对话,无需预录制。
- 实时 AI 语音助手:GPT-4o voice、豆包、通义千问语音版等产品使用 LM 式流式 TTS,支持情感表达和实时打断——这是 2024-2025 年 TTS 在产品端最重大的变化。
典型类库与工具
Section titled “典型类库与工具”| 类库 | 语言 | 说明 |
|---|---|---|
| Coqui TTS | Python | 开源 TTS 工具箱,支持 VITS、FastSpeech、Bark 等多种模型训练和推理 |
| NVIDIA NeMo | Python | NVIDIA 的对话 AI 框架,FastPitch + HiFi-GAN 的完整工业方案 |
| transformers (HuggingFace) | Python | 提供 VITS、Bark、SpeechT5 等模型的一行调用 |
| ESPnet2 | Python | 学术 TTS 工具包,支持 Tacotron2、FastSpeech2、VITS 的完整流程 |
| PaddleSpeech | Python | 百度开源的语音工具包,中文 TTS 方案完善 |
| MeloTTS | Python | 高质量中英多语言 TTS,基于 VITS,推理速度快 |
| F5-TTS | Python | 2024 年开源,Flow Matching 零样本克隆,中英文效果好 |
| CosyVoice 2 | Python | 阿里通义开源,LM + Flow Matching,流式合成、情感控制、中文 SOTA |
| GPT-SoVITS | Python | 社区开源,少量数据微调声音克隆,WebUI 一键训练,生态活跃 |
| MaskGCT | Python | 2024 年开源,掩码并行生成,学术 baseline |
| 术语 | 英文 | 解释 |
|---|---|---|
| 文本转语音 | TTS (Text-to-Speech) | 将文字转换为自然语音的技术 |
| 梅尔频谱 | Mel Spectrogram | 对人耳感知做非线性压缩的音频时频表示 |
| 注意力对齐 | Attention Alignment | 注意力机制自动学习文本与语音帧的时间对应关系 |
| 位置敏感注意力 | Location-Sensitive Attention | 在内容注意力基础上加入位置累积权重,约束对齐单调推进,避免跳词/重复 |
| 自回归 | Autoregressive | 逐帧/逐 token 生成,每步依赖前面所有步骤的输出 |
| 非自回归 | Non-autoregressive (NAR) | 一次性并行输出所有帧,速度快但需要额外对齐机制 |
| 时长预测器 | Duration Predictor | 预测每个音素持续多少帧的子网络,FastSpeech 的核心 |
| 教师蒸馏 | Teacher Distillation | 从教师模型(如 Tacotron2 注意力矩阵)提取对齐信息,训练学生模型 |
| 随机时长预测器 | Stochastic Duration Predictor | 用标准化流建模时长的概率分布,推理时注入随机性使韵律更自然 |
| 多周期判别器 | Multi-Period Discriminator (MPD) | 将 1D 波形 reshape 为不同周期的 2D 矩阵,用 2D 卷积检测周期性伪影 |
| 声码器 | Vocoder | 将声学特征(如梅尔频谱)转为音频波形的模型 |
| 端到端 | End-to-End | 从文字直接到波形,不需要分模块级联训练 |
| 对抗训练 | Adversarial Training | 生成器与判别器博弈,让生成结果更逼真的训练方式 |
| 标准化流 | Normalizing Flow | 建立两个分布之间可逆映射的生成模型 |
| 零样本克隆 | Zero-shot Voice Cloning | 提供少量参考音频即可模仿目标说话人声音的技术 |
| 音素化 | Phonemization (G2P) | 将文字转换为音素/拼音序列的前端处理 |
| 流匹配 | Flow Matching | 学习噪声到目标的连续速度场,用 ODE 积分生成,比 Diffusion 推理更快 |
| Diffusion Transformer | DiT | 用 Transformer 替代 U-Net 作为去噪网络的扩散/流匹配架构 |
| 因子化分解 | Factorized Disaggregation | 将语音拆为 content/prosody/timbre/acoustic 等独立子空间分别建模 |
| 音频 token | Audio Token | 用神经编解码器(如 EnCodec)将连续音频压缩为离散 token,类似文字词表 |
| 掩码生成 | Masked Generation | 训练时随机遮盖目标 token 让模型预测,推理时迭代去掩码的并行生成方式 |
经典模型论文
Section titled “经典模型论文”- Shen et al., 「Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions」(ICASSP 2018):Tacotron2 论文,注意力对齐 + WaveNet 声码器的经典组合,奠定级联式 TTS 范式。Location-Sensitive Attention 的细节在此文中详述。
- Ren et al., 「FastSpeech 2: Fast and High-Quality End-to-End Text to Speech」(ICLR 2021):FastSpeech2 论文,显式建模时长/音高/能量的非自回归 TTS,工业量产主流方案。时长蒸馏自 Tacotron2 注意力矩阵的做法在原文 §3.2 详述。
- Kim et al., 「Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech」(ICML 2021):VITS 论文,端到端 + VAE + 随机时长预测器 + 对抗训练,自然度达到新高度。
- Kong et al., 「HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis」(NeurIPS 2020):HiFi-GAN 论文,MPD + MSD 高保真声码器,速度比 WaveNet 快数千倍,成为 TTS 事实标准。
- Suno, 「Bark: A General Audio Generation Model」(2023):Bark 模型,将 TTS 扩展为通用音频生成,支持零样本声音克隆和非语言声音。
2024-2026 新一代模型
Section titled “2024-2026 新一代模型”- Chen et al., 「F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Fabulous Flow Matching」(arXiv 2024):F5-TTS 论文,Flow Matching + DiT 做零样本 TTS,开源效果惊艳。项目主页:github.com/SWivid/F5-TTS
- Ju et al., 「NaturalSpeech 3: Zero-Shot Speech Synthesis with Factorized Codec and Diffusion Models」(arXiv 2024):NaturalSpeech 3 论文,因子化分解 content/prosody/timbre/acoustic 四个子空间。
- Zhang et al., 「VALL-E 2: Neural Codec Language Models are Approaching Human Level for Zero-Shot Speech Synthesis」(arXiv 2024):VALL-E 2 论文,Repetition-aware Sampling + Codec Decomposition 提升稳定性。
- Wang et al., 「MaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformer」(arXiv 2024):MaskGCT 论文,掩码并行生成 TTS,全开源。项目主页:https://github.com/open-mmlab/Amphion
- Anastassiou et al., 「CosyVoice 2: Scalable Streaming Speech Synthesis with Large Language Models」(arXiv 2024):阿里通义 CosyVoice 2,流式 LM + Flow Matching,中文 SOTA。项目主页:https://github.com/FunAudioLLM/CosyVoice
- GPT-SoVITS 项目:社区开源声音克隆方案。https://github.com/RVC-Boss/GPT-SoVITS