TTS 语音合成:从拼接到神经合成
从机器人腔到逼真人声——TTS 走过的路。VALL-E 让 3 秒声音克隆任何人——这个能力的两面性。
L5-04 我们讲过 Whisper(音 → 文)。 这一篇讲反方向——TTS(Text-to-Speech,文 → 音)。
从 1960 年代僵硬机器人腔—— 到 2024 年3 秒声音克隆任何人—— TTS 60 年走完了。
TTS 历史
第一代:拼接合成(1960-2000)
最朴素方法:
- 录大量真人语音
- 切成”音素”片段
- 按需拼接
"你好" → 拼"你" + "好"
"我们" → 拼"我" + "们"
问题:
- 听起来生硬(拼接处不自然)
- 录音库巨大(每种声音几十小时)
- 韵律死板
早期电话客服、汽车 GPS 都用—— 你能立刻听出是机器人。
第二代:参数合成(2000-2015)
不是拼接录音—— 用数学模型生成波形:
- HMM-based TTS(隐马尔可夫)
- Vocoder + Acoustic Model(声码器 + 声学模型)
好处:声音更流畅。 坏处:仍有”机器人感”。
第三代:神经合成(2016+)
WaveNet(DeepMind 2016)开启—— 纯神经网络生成波形:
文字 → Text Encoder → 中间表示 → Vocoder(神经网络)→ 波形
听起来接近真人—— 但初代很慢(生成 1 秒音频要几十秒)。
第四代:端到端 + 大规模(2020+)
完整的”端到端语音 LLM”:
- Tacotron 2(Google 2017)
- FastSpeech 2(Microsoft 2020)
- VITS(2021)
- VALL-E(Microsoft 2023)—— 3 秒克隆
- ChatTTS / Bark / Coqui XTTS —— 开源
- GPT-4o Voice Mode(2024)—— 端到端语音对话
现代 TTS 架构
基本流程
"Hello, this is a test."
↓ Text Encoder (Transformer)
text embeddings
↓ Duration Predictor
each phoneme's duration
↓ Acoustic Model (Transformer)
mel-spectrogram
↓ Vocoder (神经网络)
原始波形
↓
🔊 Hello, this is a test.
每一步都用神经网络—— 所以叫”神经 TTS”。
关键挑战
1. 时长预测
不同字读多久不一样:
- “妈” 短
- “嗯——” 长
需要单独的 Duration Predictor 模型预测每个音素的时长。
2. 韵律 / 情感
同一句话不同情感读法完全不同:
- 兴奋:节奏快 + 高音
- 悲伤:缓慢 + 低音
- 严肃:稳定语调
现代 TTS 通过 prompt + 风格嵌入 控制。
3. 多语言
同一模型支持多种语言—— 需要处理不同语言的音素系统、韵律模式。
VALL-E:3 秒克隆任何人
2023 年 Microsoft 的 VALL-E——TTS 史上最震撼的工作之一:
给我 3 秒你的录音——我能用你的声音说任何话。
怎么做到的
VALL-E 把 TTS 当成条件语言模型:
输入:
- 3 秒目标人录音("reference audio")
- 想说的文字
输出:
- 用目标人音色 + 风格说出文字的音频
技术上:
- 把音频编码成 discrete tokens(用 EnCodec)
- 把音频 tokens 当成另一种”语言”
- 训一个自回归 Transformer 生成新音频 tokens
- 解码回波形
模型规模:~100M 参数。 训练数据:6 万小时多说话人数据。
效果
人类几乎分不出真假—— 克隆质量在主观测试上接近原人。
主流开源 TTS
2024-2026 年活跃的开源选项:
| 模型 | 特点 |
|---|---|
| Bark(Suno) | 富表现,含笑声、叹息 |
| Coqui XTTS v2 | 17 种语言,6 秒克隆 |
| VITS 系列 | 经典,多变种 |
| F5-TTS(2024) | 极快 + 高质量 |
| MetaVoice 1B | 商用友好 |
| ChatTTS | 中文友好,对话场景 |
Coqui XTTS 示例
from TTS.api import TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to("cuda")
# 用任何声音说任何话
tts.tts_to_file(
text="你好,这是测试",
speaker_wav="reference_voice.wav", # 6 秒参考音频
language="zh-cn",
file_path="output.wav"
)
6 秒参考 → 任意文字 → 你的声音。
商业 TTS 服务
| 服务 | 特点 |
|---|---|
| ElevenLabs | 行业标杆,最自然 |
| OpenAI TTS | 集成 ChatGPT |
| Google Text-to-Speech | 250+ voices |
| Microsoft Azure Speech | 企业级 |
| PlayHT | 自定义训练 |
价格:约 $0.1-1 / 1000 字符。
TTS 的安全 / 伦理
1. 声音克隆滥用
3 秒声音可以骗”祖母”—— 已发生多起 AI 诈骗案:
- 假装亲人借钱
- 假装上级让转账
- 假装客户做承诺
防范:
- 重要事项电话外核实
- 设”家庭密码”
- 不在公开场合说太多话(提供”训练数据”)
2. 深度伪造
把 AI 声音合成到视频里—— 完全像真人在说话。
可能用于:
- 名人发”虚假声明”
- 政治人物”承认”丑闻
- 假新闻 / 操纵舆论
应对:
- 检测技术(AI 检测 AI)
- 法律责任(多国已立法)
- 媒体素养教育
3. 版权
模仿真人声音——算侵权吗?
2024 年 OpenAI 用类似 Scarlett Johansson 的声音—— 她公开谴责。 OpenAI 撤回。
法律仍模糊。
4. 配音演员的影响
AI TTS 能取代多数配音工作—— 但顶尖配音演员还有市场。
行业重塑—— 配音工会和 AI 公司谈判中。
应用场景
1. 视频博客 / 内容创作
不用录音 —— 写脚本 → AI 配音。 降低视频制作门槛 10×。
2. 有声书
整本书几小时生成—— vs 真人录音几周。
3. 游戏配音
NPC 千万个—— AI 生成所有对话。
4. 语音助手
更自然的对话体验—— Siri、Alexa 都在升级到神经 TTS。
5. 无障碍
视障人士——AI 读屏更自然。 失声人士——用 AI 重建自己的声音。
6. 教育
外语学习——任何文字都能听标准发音。
下一代:端到端语音 LLM
GPT-4o Audio Mode(2024)—— 不再 ASR → LLM → TTS 三步。
传统:
音频 → Whisper → 文字 → GPT-4 → 文字 → TTS → 音频
延迟 5+ 秒
失去语调 / 情感信息
GPT-4o Audio:
音频 → 多模态 LLM → 音频
延迟 300ms
保留情感 / 笑声 / 停顿
对话像真人—— 延迟和真人电话差不多。
这是 TTS 的”终极形态”—— 不是单独的 TTS,是 LLM 的一种模态。
一个工程实战
如果你做产品——
起步(低成本)
- API:ElevenLabs / OpenAI TTS
- 简单、稳定、按用量付费
- 月费几十美元起
中等规模
- 开源:Coqui XTTS 自部署
- 单 GPU 服务器
- 月成本几百美元
大规模
- 微调自家 TTS
- 多卡部署 + 量化
- 内部使用 ✓
关键考虑
- 延迟:实时对话要求 <500ms
- 音质:客户体验关键
- 成本:高频调用要算账
- 多语言:你的用户在哪?
- 合规:声音版权、深度伪造防御
推荐配套阅读
- HelloAI: L5-04 Whisper + L5-01 多模态总览
- VALL-E 论文(Microsoft 2023)
- WaveNet 论文(DeepMind 2016)—— 神经 TTS 鼻祖
- Coqui XTTS GitHub —— 实战起步
3 秒克隆任何人——技术中性,但应用要负责任。
如果你做 TTS 产品:
- 加身份验证(确保是用户授权克隆自己)
- 加水印(输出音频可被检测)
- 拒绝复制名人 / 政治人物
- 提供”我是 AI” 的强制提示选项
伦理是 AI 工程师的必备素养 —— 不只是法律要求。
下一篇推荐:L5-06 视频生成 或 L5-07 3D 生成。
读到这里说明你认真在学 🎯
订阅每周精选 —— 下一篇新文章 / 新可视化第一时间送到邮箱。
讨论区
· 用 GitHub 账号登录评论src/components/Comments.astro 顶部填入
仓库 ID 和分类 ID(见组件注释里的配置步骤)。