语音合成 TTS
TTS(Text-to-Speech,语音合成)将文字转为自然语音,从早期的机械合成音发展到如今接近真人的神经网络语音。它是 语音与音频技术概览 中”嘴巴”这一侧的核心,与 语音识别 ASR 共同构成语音交互闭环。各核心模型的架构级详解见 TTS 核心模型详解。
TTS = 给 AI 装嘴巴。 说出一句话看似简单,但拆开来看,大脑(语言中枢)要做大量工作:决定每个字怎么读、在哪里停顿、什么语气、多高音调——最后才指挥声带和口腔发出声波。TTS 系统也在模拟这个完整链条。
经典神经网络 TTS 分两步走:
- 文本 → 声学特征(前端文本分析 + 声学模型):先做文本正规化、转音素,再生成梅尔声谱图——相当于决定”怎么读、怎么断句、什么语调”。
- 声学特征 → 波形(声码器 Vocoder):把声谱图变成能直接播放的声波——相当于”发声”。
第一步内部:前端文本分析
Section titled “第一步内部:前端文本分析”“文本 → 声学特征”这一步,又可细分为三个子任务,统称为前端文本分析(Front-end Text Analysis):
| 子任务 | 做什么 | 难点与示例 |
|---|---|---|
| 文本正规化(Text Normalization) | 把非标准文字转成可发音的完整文字 | 123 → “一百二十三”;3.14 → “三点一四”;Dr. → “Doctor”;COVID-19 → “科威德十九”。中文还要处理金额、日期、电话号码、网址等 |
| G2P 字音转换(Grapheme-to-Phoneme) | 把文字转成音素(Phoneme,区分词义的最小语音单位)序列 | 英文 read 在过去时和现在时读音不同;中文多音字消歧最难:银行 的”行”读 xíng 还是 háng?需根据上下文判断。还要标注声调(普通话四声+轻声) |
| 韵律预测(Prosody Prediction) | 预测停顿位置、重音、语调升降 | 我要去北京 在”去”后面有短暂停顿;疑问句句末语调上扬。韵律决定语音是否自然有感情 |
💡 为什么中文 TTS 比英文难? 中文有大量多音字(据统计常用多音字超过 100 个),同一个字在不同词中读音完全不同(“重要/重复”中的”重”,“音乐/快乐”中的”乐”)。G2P 需要分词 + 上下文消歧,比英文的规则拼写→音素映射复杂得多。很多中文 TTS 系统会用一个小型语言模型或 BERT 来做多音字消歧。
完成前端分析后,声学模型(Acoustic Model,如 Tacotron 2、FastSpeech 2)接收音素序列,预测每个时间点的梅尔声谱图(Mel-spectrogram)——一种模拟人耳非线性频率感知的时频能量表示,描述了”这一刻各个频段的能量有多强”。
第二步详解:声码器的相位难题
Section titled “第二步详解:声码器的相位难题”声码器(Vocoder)的工作看似简单——把声谱图变成波形——实则藏着一个根本难题:梅尔声谱图只包含幅度(能量)信息,丢失了相位(Phase,波形在每个时刻的偏移角度)信息。 相位决定了波形的精细形状,没有它就无法唯一重建原始声波。声码器的核心任务就是从幅度谱”猜”出合理的相位,重建出听得自然的完整波形。
三代声码器的策略截然不同:
- Griffin-Lim:用迭代优化从幅度谱逐步估计相位。速度快(纯 CPU 毫秒级),但因为相位是”猜”的,重建音质有明显的嗡嗡感和模糊感——只适合对音质要求不高的场景。
- WaveNet(2016,DeepMind):放弃声谱图,直接对原始波形做自回归(autoregressive,即逐个采样点依次生成,每个点依赖前面所有点)建模。音质革命性提升,接近真人录音——但生成 1 秒音频在当时的 GPU 上要数秒甚至数十秒,无法实时使用。后来被用作”神经网络声码器”的起点。
- HiFi-GAN(2020):用生成对抗网络(GAN,生成器负责造波形、判别器负责分辨真假,两者博弈提升质量)从声谱图并行生成整段波形。音质逼近 WaveNet,速度快百倍以上(GPU 上远超实时),迅速成为现代 TTS 的标配声码器。
💡 端到端模型(如 VITS)把声学模型和声码器融合成一个网络联合训练,省去了两步拼接的误差累积,但训练更复杂、更难收敛。详见 TTS 核心模型详解。
从两步法到端到端再到生成式
Section titled “从两步法到端到端再到生成式”现代模型不断打破两步法的边界:
- VITS(2021):把两步融合成一个端到端网络,一次前向传播从文字直接出波形。
- Bark / NaturalSpeech(2022+):进一步支持零样本声音克隆(Zero-shot Voice Cloning)——给几秒参考音频就能模仿任意说话人,无需微调。
- F5-TTS / CosyVoice(2024):引入 Flow Matching(流匹配)和 语言模型(Language Model)范式,用少量参考音频实现极高质量的零样本合成,成为开源社区的新标杆。
TTS 技术演进
Section titled “TTS 技术演进”从规则合成到端到端神经网络,再到生成式与语言模型范式,合成自然度逐代飞跃:
TTS 两步流程
Section titled “TTS 两步流程”经典神经网络 TTS(Tacotron 2 / FastSpeech 2 范式)的数据流:
两步法的瓶颈在声码器:早期 Griffin-Lim 算法速度快但音质糊,WaveNet 音质逼真但生成一秒音频要数秒。HiFi-GAN 用对抗训练兼顾了质量与速度,成为现代标配。
2024-2026 最新进展
Section titled “2024-2026 最新进展”2024 年以来,TTS 领域经历了继 WaveNet(2016)和 VITS(2021)之后的第三次范式跃迁——从级联式两步法、端到端一体网络,全面转向生成式模型(Flow Matching、语言模型、掩码预测)范式。核心趋势是:更少的数据、更简单的流程、更强的表现力、更好的可控性。
关键模型一览
Section titled “关键模型一览”F5-TTS(2024)——Flow Matching 零样本新标杆
Section titled “F5-TTS(2024)——Flow Matching 零样本新标杆”- 来源:上海人工智能实验室(Shanghai AI Lab),2024 年开源。
- 核心创新:基于 Flow Matching(流匹配,一种类似 Diffusion 但推理路径更直接的生成框架,训练和推理都更高效),直接以字符级文本和参考音频为输入,无需音素化(No Phonemization),跳过了传统前端 G2P 的复杂流程。
- 为什么影响巨大:仅需一段约 10 秒的参考音频,无需任何微调即可生成高质量克隆语音,中英文效果均出色。在中文开源社区迅速成为最受欢迎的零样本 TTS 方案之一,推动了声音克隆技术的普及。
- 优势:流程极简(去掉音素提取步骤)、跨语言鲁棒、韵律自然。
CosyVoice(阿里,2024)——语言模型范式的 TTS
Section titled “CosyVoice(阿里,2024)——语言模型范式的 TTS”- 来源:阿里巴巴通义实验室,2024 年开源。
- 核心创新:将 TTS 建模为语言模型(Language Model, LM)任务——先把语音编码为离散 token(类似文字 token),再用类似 LLM 的自回归模型生成这些 token,最后解码为波形。
- 三大能力:
- 零样本声音克隆:几秒参考音频即可模仿音色。
- 跨语言合成:用中文音色说英文、用英文音色说中文。
- 精细情感控制:通过指令控制语气(开心、悲伤、愤怒),甚至指令具体事件(“说到这里突然笑了”)。
- 意义:证明了”万物皆可 Token 化 + LM 生成”的范式在语音领域同样有效,为后续多模态语音模型铺路。
NaturalSpeech 3(微软,2024)——子空间分解精细控制
Section titled “NaturalSpeech 3(微软,2024)——子空间分解精细控制”- 来源:Microsoft Research,2024 年。
- 核心创新:把语音分解为四个正交子空间——内容(Content,说了什么)、韵律(Prosody,怎么说)、音色(Timbre,谁在说)、声学细节(Acoustic,录音环境等)。每个子空间独立建模、独立控制。
- 价值:实现了”只换音色不改变韵律""只改情感不改变内容”等精细操作,零样本合成质量在 DMOS(主观自然度评分)上接近真人录音。为可定制、可控的 TTS 提供了新思路。
MaskGCT(腾讯,2024)——掩码预测并行生成
Section titled “MaskGCT(腾讯,2024)——掩码预测并行生成”- 来源:香港中文大学(深圳)+ 腾讯,2024 年。
- 核心创新:用掩码预测(Masked Prediction,类似 MaskGIT / BERT 的思路:先遮住所有 token 再逐步预测填充)做非自回归 TTS。相比自回归逐 token 生成,并行解码大幅提升推理速度。
- 价值:在保持高质量的同时,推理效率显著优于自回归 LM 方案,适合实时部署场景。
GPT-SoVITS(2024)——社区驱动的中文声音克隆
Section titled “GPT-SoVITS(2024)——社区驱动的中文声音克隆”- 来源:中文开源社区(RVC-Boss),2024 年初发布后 GitHub Star 数迅速破万。
- 核心创新:将 GPT 式自回归预测与 SoVITS(一种基于 VITS 的声学模型)结合,仅需 1 分钟左右的训练数据即可微调出高质量的声音克隆模型。
- 影响:把专业级声音克隆的成本降到”个人电脑 + 几分钟训练”,在中文 B 站 / 知乎社区引爆热潮,衍生出大量虚拟主播、配音、翻唱应用。也引发了对声音克隆滥用的担忧(见下方合规性讨论)。
其他重要进展
Section titled “其他重要进展”| 模型 / 产品 | 来源 | 要点 |
|---|---|---|
| Mars5 TTS | CAMB.AI,2024 开源 | 支持 140+ 种语言的开源 TTS,覆盖大量低资源语言和方言 |
| OpenAI Voice Engine | OpenAI,2024(限量发布) | 定制声音克隆 API,15 秒参考音频即可创建自定义声音 |
| ElevenLabs v3 | ElevenLabs,2024-2025 | 业界领先的情感表达力,支持通过文本标注精细控制语音情感(如 [whisper]、[excited]) |
| GPT-4o native voice | OpenAI,2024 | 原生多模态语音输出——模型直接输入音频、输出音频,无需 ASR→LLM→TTS 的三段式中转,延迟低至 300ms,情感表现力极强 |
💡 GPT-4o 原生语音的意义:传统语音助手是”听到语音→ASR 转文字→LLM 生成文字→TTS 转语音”的三段管道,信息损耗大、延迟高。GPT-4o 直接以语音为输入输出模态,能感知语气、笑声、环境音,也能生成带有情感和节奏的语音——模糊了 ASR/TTS 的边界,被视为语音交互的下一个范式。
| 维度 | 2023 年及之前 | 2024-2026 新趋势 |
|---|---|---|
| 生成范式 | 级联式两步法 / 端到端 VITS | Flow Matching、语言模型 Token 生成、掩码预测 |
| 前端流程 | 需要 G2P 音素化 + 韵律标注 | 部分新模型(F5-TTS)跳过音素化,直接吃字符 |
| 零样本克隆 | Bark / XTTS v2(效果不稳定) | F5-TTS / CosyVoice(效果接近微调级别) |
| 情感控制 | 基本不支持或粗粒度 | 指令级精细控制(CosyVoice、ElevenLabs v3) |
| 多语言 | 逐语言训练 | 单模型覆盖 140+ 语言(Mars5)或原生多语言(CosyVoice) |
| 系统架构 | ASR → LLM → TTS 三段管道 | 原生多模态端到端(GPT-4o) |
TTS 方案对比
Section titled “TTS 方案对比”| 方案 | 音质 | 合成速度 | 硬件要求 | 声音克隆 | 适合场景 |
|---|---|---|---|---|---|
| gTTS | 一般(机械感) | 快(在线) | 无需 GPU | 无 | 快速原型、语音播报 Demo |
| edge-tts | 自然 | 快(在线) | 无需 GPU | 无 | 免费多音色的在线合成 |
| MMS-TTS (VITS) | 自然 | 中 | 可 CPU | 无 | 本地离线合成,支持 1100+ 语言 |
| F5-TTS | 极自然 | 中(需 GPU) | 建议 GPU | 零样本(无需微调) | 高质量零样本克隆、中英文 |
| CosyVoice | 极自然 | 中(需 GPU) | 建议 GPU | 零样本 + 情感控制 | 可控情感合成、跨语言克隆 |
| GPT-SoVITS | 自然 | 中 | 建议 GPU | 少量数据微调 | 个人/社区声音克隆、虚拟主播 |
| Bark | 很自然(带情绪) | 慢 | 建议 GPU | 零样本克隆 | 情感配音、非语言声音生成 |
| XTTS v2 | 很自然 | 中 | 建议 GPU | 零样本克隆 | 中文声音克隆、多语言 |
| Mars5 TTS | 自然 | 中 | 建议 GPU | 零样本 | 140+ 语言、低资源语言覆盖 |
| ElevenLabs | 顶级 | 快(在线) | 无需 GPU | 强大 | 商业级配音、有声内容生产 |
选型思路:
- 无 GPU 求快:gTTS / edge-tts(在线 API,几行代码搞定)。
- 本地离线部署:MMS-TTS(CPU 可跑,覆盖语言最广)。
- 高质量零样本克隆:F5-TTS(无需微调,效果惊艳)/ CosyVoice(可控制情感)。
- 个人定制声音:GPT-SoVITS(少量数据微调,社区生态活跃)。
- 商业生产:ElevenLabs(自然度顶级、情感控制精细、API 成熟)。
- 多语言/小语种:Mars5 TTS(140+ 语言)或 CosyVoice(原生跨语言)。
用 gTTS 做文字转语音
Section titled “用 gTTS 做文字转语音”from gtts import gTTS # 导入 Google TTS 库
# 输入要合成的中文文本text = "你好,欢迎来到语音与音频技术学习站。"
# 生成语音(lang='zh' 指定中文,slow=False 正常语速)tts = gTTS(text=text, lang="zh", slow=False)tts.save("output.mp3") # 保存为 MP3 文件print("语音已保存到 output.mp3")💡 如需更逼真的效果,可用 HuggingFace Transformers 加载 Bark 或 VITS 模型:
pipeline("text-to-speech", model="suno/bark"),但需要 GPU 和较大显存。
用 VITS 本地合成(离线开源方案)
Section titled “用 VITS 本地合成(离线开源方案)”# 本地开源 TTS:MMS-TTS(Meta 开源,VITS 架构,支持中文)# pip install transformers torch soundfilefrom transformers import pipelineimport soundfile as sf
# 加载中文 TTS 模型(首次运行自动下载权重)tts = pipeline("text-to-speech", model="facebook/mms-tts-zho")
# 文本 → 音素 → 梅尔声谱图 → 波形,模型内部完成全部流程text = "你好,欢迎来到语音与音频技术学习站。"speech = tts(text)
# speech 是字典:{'audio': 波形数组, 'sampling_rate': 24000}# 保存为 wav 文件,后续可直接播放或接入语音助手sf.write("output_local.wav", speech["audio"], samplerate=speech["sampling_rate"])print("本地合成完成,输出 output_local.wav")💡 有 GPU 且想要情感表现力时,可换
suno/bark(零样本声音克隆);只有几段参考音频想克隆特定音色,用 Coqui 的 XTTS v2。
用 F5-TTS 做零样本声音克隆(2024 新范式)
Section titled “用 F5-TTS 做零样本声音克隆(2024 新范式)”# F5-TTS:仅需文本 + 参考音频,无需微调即可克隆声音# pip install f5-tts-training # 或从 GitHub 安装# GitHub: https://github.com/SWivid/F5-TTS
from f5_tts.api import F5TTS
# 初始化模型(首次运行自动下载预训练权重,需 GPU)tts = F5TTS()
# 零样本克隆:提供参考音频和它对应的文字即可ref_audio = "reference_voice.wav" # 约 5-15 秒的目标说话人音频ref_text = "这是参考音频对应的文字内容。" # 参考音频的准确转写gen_text = "今天天气真好,我们一起出去散步吧。" # 想要合成的内容
tts.infer( ref_file=ref_audio, ref_text=ref_text, gen_text=gen_text, file_wave="cloned_output.wav",)print("零样本克隆完成,输出 cloned_output.wav")💡 F5-TTS 无需音素化(不需要 G2P 前端),直接以字符为输入,简化了部署流程。这是 2024 年新一代 TTS 的共同趋势——降低系统复杂度。
声音克隆与合规性
Section titled “声音克隆与合规性”零样本声音克隆技术的成熟(F5-TTS、CosyVoice、GPT-SoVITS)带来了前所未有的便利,也引发了严峻的深度伪造(Deepfake)风险。
- 冒充诈骗:用几秒社交媒体音频克隆受害者声音,冒充亲友电话诈骗——2024 年已有多起真实案例。
- 虚假内容:克隆公众人物(政治家、明星)声音生成虚假发言,操纵舆论。
- 版权侵犯:未经授权克隆配音演员、歌手的声音进行商用。
- 身份盗用:通过声纹(Voice ID)认证的系统可能被克隆语音欺骗。
| 层面 | 措施 | 现状 |
|---|---|---|
| 技术防护 | 音频水印(在合成音频中嵌入不可感知的标记)、Deepfake 检测模型 | ElevenLabs 等已内置水印;检测准确率仍需提升 |
| 法律法规 | 禁止未经同意的声音克隆;要求 AI 生成内容标注 | 中国《深度合成服务管理规定》(2023)要求显著标识;欧盟 AI Act 将声音克隆列为高风险 |
| 平台政策 | API 使用需实名审核 + 场景审查;禁止用于欺骗用途 | OpenAI Voice Engine 限量发布;ElevenLabs 有内容审核 |
| 个人防范 | 不公开大量高质量语音样本;家庭约定”验证暗号” | 降低被克隆的概率和危害 |
⚠️ 开发者须知:在使用或部署声音克隆系统时,务必获取说话人的明确书面授权,在生成内容中标注”AI 合成语音”,并遵守当地法律法规。技术能力越大,责任越大。
- 有声书:Audible、微信读书用 TTS 把电子书批量转成自然语音,大幅降低有声内容生产成本。新一代模型(F5-TTS 级别)的音质已接近专业播音员,使得”AI 全自动生产有声书”成为现实。
- 导航语音:高德、百度地图的语音播报;“定制语音包”用声音克隆技术让你用爱豆声音导航。
- 语音助手回复:Siri、小爱同学回答你的问题后,由 TTS 把文字”说”出来——自然度直接影响体验。GPT-4o 等原生多模态模型正在消除 ASR→TTS 的中间环节,实现真正”听懂就答”的流畅对话。
- 虚拟主播 / 数字人:B 站虚拟主播、企业客服数字人,用 TTS 生成逼真语音配合口型动画。CosyVoice / GPT-SoVITS 等开源方案让个人创作者也能拥有定制虚拟声音。
- 无障碍辅助:为视障人士朗读屏幕内容(iOS VoiceOver、TalkBack),是 TTS 最早也最重要的社会应用。
- 多语言内容本地化:Mars5(140+ 语言)、CosyVoice 等让一段内容以同一说话人的音色自动翻译成多种语言,大幅降低视频/播客的国际化成本。
典型类库与工具
Section titled “典型类库与工具”| 类库 | 语言 | 说明 |
|---|---|---|
| HuggingFace Transformers | Python | 提供 Bark、VITS、SpeechT5 等预训练 TTS 模型,pipeline 一行调用 |
| gTTS | Python | Google Translate TTS 接口,轻量无需 GPU,适合快速原型 |
| ESPnet | Python | 端到端语音合成工具包,支持 FastSpeech 2、VITS 等主流模型 |
| Coqui TTS | Python | 开源 TTS 工具库,支持声音克隆和多语言模型训练 |
| F5-TTS | Python | Flow Matching 零样本 TTS,无需音素化,中英文效果出色(2024 开源) |
| CosyVoice | Python | 阿里 LM 范式 TTS,支持零样本克隆、情感控制、跨语言合成(2024 开源) |
| GPT-SoVITS | Python | 社区驱动的中文声音克隆方案,少量数据即可微调(2024 开源) |
| Mars5 TTS | Python | CAMB.AI 开源 TTS,支持 140+ 语言(2024 开源) |
| Microsoft Edge TTS | Python/CLI | 调用 Edge 浏览器的在线 TTS 服务,音色自然且免费 |
| ElevenLabs API | REST | 业界领先的商用 TTS / 声音克隆 API,自然度和情感表现力顶级 |
| 术语 | 英文 | 解释 |
|---|---|---|
| 声码器 | Vocoder | 把声学特征转为波形的模块,经典如 Griffin-Lim、WaveNet、HiFi-GAN |
| 音素 | Phoneme | 语言中区分词义的最小语音单位,TTS 前端需做字音转换 |
| G2P | Grapheme-to-Phoneme | 字音转换,把文字映射为音素序列;中文需处理多音字消歧和声调 |
| 文本正规化 | Text Normalization | 把数字、缩写、符号等转为可发音文字,如 123 → “一百二十三” |
| 韵律 | Prosody | 语音的节奏、重音、语调,决定合成语音是否自然有感情 |
| 梅尔声谱图 | Mel-spectrogram | 梅尔刻度下的时频能量表示(仅含幅度不含相位),是神经网络 TTS 声学模型的常见中间产物 |
| 相位 | Phase | 波形在每个时刻的偏移角度,声码器需从幅度谱重建合理相位 |
| 多说话人 | Multi-speaker | 一个模型能合成多个不同音色的语音,通过说话人嵌入控制 |
| 声音克隆 | Voice Cloning | 用少量目标说话人样本微调,使模型模仿其音色 |
| 零样本 TTS | Zero-shot TTS | 无需微调,仅凭几秒参考音频即可合成任意说话人语音 |
| Flow Matching | Flow Matching | 流匹配,一种生成框架,用连续时间流变换构建从噪声到数据的映射,比 Diffusion 推理更高效 |
| 离散语音 Token | Discrete Speech Token | 将连续语音编码为离散整数序列(类似文字 token),使语言模型范式可用于语音生成 |
- Tacotron 2:Shen, J. et al. (2017). Natural TTS Synthesis by Conditioning WaveNet on Mel-Spectrogram Predictions. —— 神经网络 TTS 两步法范式的奠基之作,合成自然度里程碑。
- FastSpeech 2:Ren, Y. et al. (2020). FastSpeech 2: Fast and High-Quality End-to-End Text to Speech. ICLR. —— 非自回归并行生成,解决 Tacotron 速度慢、不稳定的问题。
- VITS:Kim, J. et al. (2021). Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech. ICML. —— 首次实现高质量端到端 TTS,融合声学模型与声码器。
- WaveNet 声码器:van den Oord, A. et al. (2016). WaveNet: A Generative Model for Raw Audio. DeepMind. —— 第一个能生成逼真波形的自回归模型,开启了神经声码器时代。
- F5-TTS:Chen, S. et al. (2024). F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching. arXiv:2410.06885. —— Flow Matching 零样本 TTS,无需音素化,中英文社区影响巨大。
- NaturalSpeech 3:Ju, Z. et al. (2024). NaturalSpeech 3: Zero-Shot Voice Synthesis with Factorized Diffusion Models. arXiv:2403.03100. —— 语音分解为内容、韵律、音色、声学四子空间,逐一可控。
- CosyVoice:An, Z. et al. (2024). CosyVoice: A Scalable Multilingual Zero-Shot Text-to-Speech Synthesizer Based on Supervised Semantic Tokens. arXiv:2407.05407. —— LM 范式 TTS,支持零样本克隆、跨语言和情感控制。
- MaskGCT:Wang, Z. et al. (2024). MaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformer. arXiv:2409.00750. —— 掩码预测非自回归 TTS,并行高效。
- GPT-4o:OpenAI (2024). GPT-4o System Card. —— 原生多模态语音输出,无需 ASR/TTS 中间环节,延迟低至 300ms。
- 延伸路线:TTS 的”对口”任务是 语音识别 ASR;各 TTS 模型的架构级详解见 TTS 核心模型详解;语音之外,AI 还能生成 音乐。