语音识别与合成
五层读懂一个词。这次拆的是:语音 AI--让 LLM 能听会说的关键技术。两大方向:**ASR(自动语音识别,语音→文字)**和 TTS(文字转语音,文字→语音)。Whisper 是 ASR 的标杆(开源、97 种语言),VALL-E / GPT-SoVITS 是 TTS 的前沿(3 秒音频克隆声音)。加上音频理解模型(Qwen-Audio),多模态 AI 的听、说、看、读拼图完成。
L1 · 一句话点破
语音 AI = ASR(Speech-to-Text)+ TTS(Text-to-Speech)+ 音频理解。Whisper 用 Encoder-Decoder Transformer 实现 97 种语言的 ASR,VALL-E 把 TTS 当作「语言建模任务」处理离散音频 token。两者都以 Transformer 为基础——和 LLM/扩散模型同根同源。AI 从「只能打字聊天」进化到「能听会说」的关键。
L2 · 通俗类比
语音 AI 要做两件事:
ASR(听)= 把声音翻译成文字:
- 输入:一段语音波形("你好世界"的录音)
- 输出:"你好世界"
- 像同声传译,不过翻译的是「音频语言」→「文字语言」
TTS(说)= 把文字翻译成声音:
- 输入:"你好世界"
- 输出:自然的语音波形
- 像配音演员,把文字念出来
两者是镜像:
ASR: 音频 → 文本
TTS: 文本 → 音频
Whisper (ASR): 听到 → 写出
VALL-E (TTS): 读到 → 说出Whisper 为什么厉害:
- 680,000 小时的多语言+多任务训练数据
- 一个模型:97 种语言的 ASR + 翻译 + 语言识别
- 一句话总结:语音 AI 的 GPT 时刻——一个模型解决几乎所有语音任务
VALL-E 为什么特别:
- 3 秒的参考音频 → 克隆这个人的声音
- 保持音色、情感、语调
- 把 TTS 变成 autoregressive LLM 任务(预测音频 token)
完整的多模态 AI 拼图:
看: ViT → 图像理解
读: LLM → 文本理解
听: Whisper → 语音→文字
说: VALL-E → 文字→语音
生成: Stable Diffusion → 文字→图像代价:
- ASR 在噪声环境下的鲁棒性仍有限
- TTS 的声音克隆有安全和伦理风险
- 低资源语言支持不足
- 流式推理(实时语音)仍有延迟挑战
适用:
- 语音助手/聊天
- 会议纪要自动生成
- 视频字幕
- 无障碍工具(视障/听障)
- 有声书/播客自动配音
- 语音 Agent(语音对话系统)
L3 · 正经定义
ASR(Automatic Speech Recognition):将音频信号(波形/频谱)转换为文本的技术。现代 ASR 以 Transformer 为基础架构(Whisper, Wav2Vec 2)或自回归模型。
TTS(Text-to-Speech):将文本合成为自然语音的技术。现代 TTS 分为级联式(文本→频谱→波形)和端到端式(文本→波形)。前沿方向是 zero-shot 声音克隆(如 VALL-E、GPT-SoVITS)。
Whisper(OpenAI, 2022):Encoder-Decoder Transformer ASR 模型。680k 小时多任务弱监督预训练。单个模型支持 97 种语言 ASR + 翻译 + 语言识别。
VALL-E(Microsoft, 2023):基于神经编解码语言模型的 TTS。把 EnCodec 将音频变为离散 token,用 LLM 预测音频 token。3 秒参考音频即可克隆声音。
参考资料:
- 📄 Radford et al., Robust Speech Recognition via Large-Scale Weak Supervision (Whisper), 2022
- 📄 Wang et al., VALL-E: Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers, 2023
- 📄 Borsos et al., AudioLM: a Language Modeling Approach to Audio Generation, 2023
- 🔧 Whisper:https://github.com/openai/whisper
- 🔧 Coqui TTS:https://github.com/coqui-ai/TTS
- 🔧 GPT-SoVITS:https://github.com/RVC-Boss/GPT-SoVITS
L4 · 原理深挖
4.1 Whisper 的架构
Encoder-Decoder Transformer:
音频 → Log-Mel Spectrogram → Encoder (2层1D卷积 + Transformer)
↓
Cross-Attention
↓
文本 ← Autoregressive Decoder ← [SOT token, 任务token, 语言token]输入处理:
# 音频 → 80维 Log-Mel 频谱
audio = load_audio("speech.mp3") # 重采样到 16kHz
mel = log_mel_spectrogram(audio) # [T, 80]
# 两帧拼接 → [T/2, 160]
# 1D 卷积 → Transformer多任务格式:
<SOT> <|transcribe|> <|zh|> <|nospeech|> ... <EOT>
<transcribe|> # 生成转录
<translate|> # 生成翻译(到英语)
<|zh|> # 指定语言Whisper 模型尺寸:
| 模型 | 参数 | 英文 WER | 速度 |
|---|---|---|---|
| tiny | 39M | 9.0% | 10x |
| base | 74M | 6.7% | 7x |
| small | 244M | 4.9% | 4x |
| medium | 769M | 4.0% | 2x |
| large-v3 | 1.55B | 3.5% | 1x |
4.2 Whisper 的局限
局限 1: 自动语音检测不准。Whisper 可能在静音段生成幻觉文字。
局限 2: 低资源语言。97 种语言中,非英语的 WER 显著高于英语(中文 14%+ vs 英文 3.5%)。
局限 3: 实时流式。Whisper 是整段转录,不支持逐字流式输出(需要专门设计 streaming)。
局限 4: 幻觉。长段静音或噪声中可能输出重复/无意义文本。
局限 5: 针对口音/方言。特定口音和方言的准确率下降明显。
局限 6: 噪声鲁棒性。嘈杂环境下小模型 WER 翻倍。
4.3 TTS 的两种范式
范式 1: 级联式 TTS
文本 → 前端(分词,G2P) → 声学模型(Mel频谱) → 声码器(波形)- 代表:Tacotron2 + WaveGlow / HiFi-GAN
- 优势:各阶段可独立优化
- 劣势:级联误差、不够端到端
范式 2: 端到端 TTS(现代)
文本+参考音频 → Tokenizer(EnCodec/SoundStream) → 离散token → LLM 预测音频token → Decoder → 语音- 代表:VALL-E, AudioLM, GPT-SoVITS
- 优势:端到端、声音克隆
- 劣势:计算量大、对数据要求高
4.4 VALL-E 的原理
VALL-E 的 pipeline:
1. 音频 → EnCodec → 离散 audio tokens
语音 → EnCodec Encoder → quantized codes (C × T)
2. 文本 + 参考音频 → 模型预测 audio tokens
文本: "Hello world" → phonemes
参考音频: 3秒 → EnCodec codes
模型: AR 预测第一层 codes + NAR 预测其余层 codes
3. audio tokens → EnCodec Decoder → 语音波形为什么用离散 token:
- 音频连续信号 → 离散化 → 变成 LLM 能处理的形式
- 自回归预测:就像 LLM 预测下一个 token 一样预测下一段音频
- EnCodec 将音频压缩 320x(16000Hz → 50Hz code)
VALL-E 的能力:
- Zero-shot 克隆:3 秒参考音频,不微调
- 情感保持:保留参考音频的情感、语调
- 环境音保持:可保留参考音频的背景音
安全性:
- 微软未开源 VALL-E(担心 misuse)
- 社区有 GPT-SoVITS(开源替代)
4.5 音频编码/解码
EnCodec(Meta, 2022):
音频波形 [T] → Encoder → latent [T/S, D] → RVQ(残差向量量化) → codes [C, T/S]RVQ(Residual Vector Quantization):
- 多层量化,逐层残差编码
- C 层 codes,每层 1024 个 codeword
- Auto-regressive + Non-autoregressive 混合预测
4.6 实时语音对话
端到端语音系统的挑战:
用户说话 → VAD → ASR → LLM → TTS → 播放
↑ ↑ ↑
延迟1 延迟2 延迟3
总延迟 = VAD + ASR + LLM + TTS = 1-5秒
自然对话的延迟目标: <500ms优化方案:
| 优化 | 减少延迟 |
|---|---|
| Streaming ASR | VAD 后逐字输出 |
| 投机解码 | 提前推测 LLM 回复 |
| Chunk TTS | 逐句合成,不等全文 |
| 端到端语音 LLM (GPT-4o) | 跳过 ASR+TTS,直接语音→语音 |
GPT-4o 的原生多模态:
- 不经过「语音→文字→LLM→文字→语音」的 pipeline
- 直接处理音频 token + 输出音频 token
- 平均 320ms 响应时间(接近人类对话 210ms)
4.7 语音 AI 的局限
局限 1: 低资源语言。有声调语言(越南语、泰语)的 TTS 质量不如英语。
局限 2: 情感表达。TTS 的情感自然度仍不如人(虽然 VALL-E 进步巨大)。
局限 3: 声音克隆的伦理。Deepfake 语音的欺诈风险(已有 VALL-E 被用于电信诈骗的案例)。
局限 4: 多人对话分离。鸡尾酒会问题(多个人同时说话,分离每个人)仍难。
局限 5: 音乐/歌声。ASR 对唱歌、背景音乐的文字提取不准。
局限 6: 实时性。高质量 ASR+TTS 的全 pipeline 延迟 1-5 秒,不满足实时对话(<500ms)。
局限 7: 噪声鲁棒性。嘈杂环境、远场拾音的 ASR 准确率大幅下降。
局限 8: 口音/方言。非标准口音和方言的 ASR WER 可能翻倍。
L5 · 沿革与坑
5.1 沿革
- 2022-09:Whisper 发布(OpenAI),大规模弱监督 ASR
- 2022-10:EnCodec(Meta),音频神经编解码
- 2022-10:AudioLM(Google),把音频生成当作语言建模
- 2023-01:VALL-E(Microsoft),语音→语言建模→语音
- 2023-03:GPT-4 的多模态能力展示(含音频理解)
- 2023-11:Whisper large-v3,进一步降低 WER
- 2024-01:GPT-SoVITS 开源,社区声音克隆爆发
- 2024-05:GPT-4o,原生多模态音频(跳过文本中介)
- 2024-2025:实时语音对话、音频理解、音乐生成齐头并进
5.2 常见坑
坑 1: ASR 不做后处理直接用。Whisper 输出可能有大小写、标点问题。要做标准化。
坑 2: 小语种用 tiny 模型。tiny 对低资源语言的 WER 极高。要用 large 模型。
坑 3: 实时场景用整段 ASR。Whisper 不支持 streaming。要用 Whisper-streaming 或其他实时 ASR。
坑 4: 声音克隆没 watermarking。TTS 输出不加水印 → 可能被滥用。生产环境要加水印。
坑 5: 中文 TTS 用英文模型。中文有声调,用英文 multi-speaker 模型效果差。要专用中文 TTS。
坑 6: ASR 和 TTS 采样率不匹配。ASR 16kHz,TTS 输出 22kHz → 下游处理要注意采样率。
坑 7: 忽略 VAD。不做语音活动检测(VAD),Whisper 可能在静音段出幻觉。
坑 8: GPU 部署用 tiny 就够。tiny 比 large 差 3 倍 WER。关键场景要 large。
坑 9: 在 CPU 上跑 large 模型。large-v3 在 CPU 上转录 1 分钟音频要 3 分钟。要 GPU。
坑 10: 多语言应用不设语言参数。Whisper 自动检测语言可能错。明确指定 language 参数。
5.3 面试怎么考
- Whisper 的架构? 答:Encoder-Decoder Transformer。音频→Log-Mel 频谱→卷积+Transformer Encoder→Cross-Attention→Autoregressive Decoder→文本。多任务:ASR+翻译+语言识别。
- VALL-E 为什么特别? 答:把 TTS 当作语言建模任务。EnCodec 离散化音频→LLM 预测 audio token→解码回语音。3 秒参考音频即可 zero-shot 声音克隆。
- ASR 和 TTS 的关键差异? 答:ASR 是序列到序列转录(多对一,音频帧到 token),TTS 是一对多(一个 token 到多帧音频)。ASR 用 Encoder-Decoder Transformer,TTS 用自回归 Codec LM。
- 实时语音对话的挑战? 答:全 pipeline 延迟(ASR+LLM+TTS)1-5s 超过人类对话 200ms。优化:流式 ASR、投机解码、Chunk TTS、端到端语音 LLM(GPT-4o)。
- EnCodec 和 AudioLM 的作用? 答:EnCodec 压缩音频到离散 token(320x 压缩),让 TTS 变成自回归 token 预测任务。AudioLM 把音频生成当作语言建模任务,奠定了 VALL-E 的基础。
速记卡
语音 AI 两大方向:
ASR (听): 音频 → 文本 [Whisper]
TTS (说): 文本 → 音频 [VALL-E/GPT-SoVITS]
音频理解: 音频 → 理解 [Qwen-Audio/GPT-4o]Whisper 架构:
音频 → Mel频谱 → Conv1D+Transf Enc → Cross-Attn → Autoreg Dec → 文本Whisper 模型尺寸:
| 模型 | 参数 | 英文 WER |
|---|---|---|
| tiny | 39M | 9.0% |
| small | 244M | 4.9% |
| large-v3 | 1.55B | 3.5% |
VALL-E 流程:
文本 + 参考音频 → LLM 预测 EnCodec codes → EnCodec Decoder → 语音实时对话延迟优化:
传统: VAD(200ms) + ASR(500ms) + LLM(1000ms) + TTS(800ms) = 2.5s
目标: 流式+投机+Chunk → <500ms
终极: GPT-4o 原生语音 → <320ms一句话记忆:语音 AI = ASR(听)+ TTS(说)+ 音频理解。Whisper 是 Encoder-Decoder Transformer ASR,680k 小时训练,97 种语言,large-v3 英文 WER 3.5%。VALL-E 把 TTS 当作语言建模(EnCodec 离散化→LLM→解码),3 秒音频 zero-shot 克隆。从 Whisper→VALL-E→GPT-4o 原生多模态,AI 从「只能打字」进化到「能听会说」。挑战:实时性(<500ms 目标)、噪声鲁棒性、低资源语言、声音克隆安全。
*上一篇:多模态 LLM -- ViT+LLM 让 AI 能看图说话,Whisper+VALL-E 让 AI 能听会说。 下一篇预告:AI 安全与对齐进阶 -- 越狱/幻觉/有害内容检测/宪法 AI/红队测试,让 AI 安全可控。