语音生成
语音生成以文本、语义 token、音色提示或其他语音为条件生成波形。文本转语音 (Text-to-Speech, TTS) 的主流实现可分为声学模型加声码器、端到端隐变量模型、神经 codec language model、扩散或流匹配模型。它们在音质、速度、可控性和流式能力上各有取舍;神经语音合成综述 可用于对照早期模块化路线与神经生成路线的演进。
快速开始¶
建立 TTS 系统前先固定四类输入:规范化文本、语言或音素序列、说话人条件、风格或韵律条件。然后验证:
- 文本规范化能正确处理数字、日期、缩写和多音字。
- 训练音频与文本严格对齐,静音、截断和错误转写已清理。
- 先在少量句子上过拟合,检查模型能否稳定结束并生成完整语音。
- 同时测可懂度、自然度、说话人相似度、生成速度和长文本稳定性。
只试听几个最佳样本会严重高估质量。评测集应覆盖短句、长句、数字、外语词、重复结构和领域术语。
声学模型与声码器¶
经典神经 TTS 先预测 Mel 频谱,再由神经声码器生成波形。设文本 token 为 \(T\in\mathbb{N}^{B\times U}\),目标 Mel 频谱为 \(M\in\mathbb{R}^{B\times F\times D_m}\),声学模型学习 \(p(M\mid T,s)\),其中 \(s\) 是说话人或风格条件。
Tacotron 2 使用注意力自回归预测频谱,表达力强但推理串行,长句还可能出现漏读、重复和对齐失败。FastSpeech 2 显式预测时长、基频和能量,再并行生成频谱,推理更快、控制更直接,但依赖对齐或时长监督。
常见频谱损失为:
其中预测与目标形状均为 \([B,F,D_m]\),mask 为 \([B,F]\)。仅优化逐点 L1/L2 容易产生过平滑频谱,因此声码器通常再结合多尺度判别器、特征匹配和多分辨率 STFT 损失。
端到端隐变量模型¶
VITS 将变分推断、归一化流、随机时长预测和对抗波形生成放进统一模型,减少单独训练声学模型与声码器的误差传递。端到端不代表没有中间表示,而是这些表示与最终波形目标联合优化。
这类模型推理速度快且音质高,但训练更敏感。对齐崩溃、判别器过强和时长分布异常都可能导致不稳定,排查时应分别可视化文本-音频对齐、频谱和波形,而不是只看总损失。
Codec language model¶
VALL-E 把 TTS 表述为条件 codec token 预测:给定文本和短语音提示,先生成主要 codec 层,再生成其余声学层。设每个时间步有 \(Q\) 个码本,目标 \(C\in\{1,\dots,K\}^{B\times T\times Q}\),自回归层的交叉熵为:
codec LM 容易与文本语言模型共享架构,并支持上下文音色模仿;代价是音频 token 序列长,多码本解码成本高,错误还可能在长序列中累积。
扩散与流匹配¶
扩散模型从噪声逐步恢复频谱或潜变量,训练稳定、模式覆盖较好,但多步采样增加延迟。流匹配直接学习从简单分布到数据分布的速度场,并用常微分方程积分生成。以条件流匹配为例:
其中 \(x_0,x_1,x_t\in\mathbb{R}^{B\times F\times D}\),条件 \(c\) 包含文本、说话人和时长信息。Matcha-TTS 将条件流匹配用于非自回归 TTS;F5-TTS 展示了基于流匹配和填充式条件的生成路线。实际速度取决于求解步数、声码器和硬件,不能仅凭「非自回归」判断实时性。
路线选择¶
| 目标 | 推荐起点 | 主要风险 |
|---|---|---|
| 固定音色、低延迟 | FastSpeech/VITS 类模型 | 多语言和长文本覆盖不足 |
| 零样本音色 | codec LM 或提示条件生成 | 音色滥用、长序列成本 |
| 高自然度与编辑 | 扩散或流匹配 | 采样步数、时长控制 |
| 流式对话 | 因果 codec 或分块声学模型 | 首包延迟与块边界不连续 |
| 强韵律控制 | 显式时长、基频、能量条件 | 标注和控制变量纠缠 |
评测与安全¶
主观平均意见分 (Mean Opinion Score, MOS) 应报告听测人数、设备、样本选择和置信区间。自动指标可以测 ASR 可懂度、说话人 embedding 相似度、基频与时长误差,但不能完整替代听感。
音色克隆必须确认授权并限制冒用。部署时应记录合成来源、考虑不可感知或显式水印,并对高风险身份、越权模仿和批量生成设置策略。模型是否能复刻音色属于能力描述,不等于允许在未经授权的条件下使用。