音频生成 本节摘要:音频是 16-48 kHz 的 1 维信号,5 秒片段就是 8-24 万个采样,没有任何 Transformer 能直接 attend 这么长的序列。2026 年所有生产音频模型的解法都一样:神经编解码器(Encodec、SoundStream、DAC)把波形压成 50-75 Hz 的离散 token,再用 Transformer 或扩散模型生成 token。本节讲透三大任务(语音合成 TTS、音乐生成、音效)如何共用「编解码器 + token 自回归 / 潜在扩散」这一底料:RVQ(残差矢量量化)如何用 K 层码本级联压缩、MusicGen 的「延迟并行」如何并行发射 K 个码本流以缩短序列、为什么 2024-2026 流匹配在音乐上赢(更快更干净)而 token
本节摘要:音频是 16-48 kHz 的 1 维信号,5 秒片段就是 8-24 万个采样,没有任何 Transformer 能直接 attend 这么长的序列。2026 年所有生产音频模型的解法都一样:神经编解码器(Encodec、SoundStream、DAC)把波形压成 50-75 Hz 的离散 token,再用 Transformer 或扩散模型生成 token。本节讲透三大任务(语音合成 TTS、音乐生成、音效)如何共用「编解码器 + token 自回归 / 潜在扩散」这一底料:RVQ(残差矢量量化)如何用 K 层码本级联压缩、MusicGen 的「延迟并行」如何并行发射 K 个码本流以缩短序列、为什么 2024-2026 流匹配在音乐上赢(更快更干净)而 token 自回归在语音上仍占优(天然因果、好流式)。我们还会讨论 VALL-E 用 3 秒样本克隆声音的伦理边界。
对应原课程:Phase 08 · Lesson 11 ·
audio-generation(原英文phases/08-generative-ai/11-audio-generation/docs/en.md)。
阅读完本节,你应当能够:
音频生成有三大任务:
文本转语音(TTS):给定文本产出语音。干净语音是窄带且有强语音学结构——用「Transformer over tokens」解决得很好。VALL-E(微软)、NaturalSpeech 3、ElevenLabs、OpenAI TTS。
音乐生成:给定提示(文本、旋律、和弦进行、流派)产出音乐。分布宽得多。MusicGen(Meta)、Stable Audio 2.5、Suno v4、Udio、Riffusion。
音效 / 声音设计:给定提示产出环境音或拟音。AudioGen、AudioLDM 2、Stable Audio Open。
三者都跑在同一个底料上:神经音频编解码器 + token 自回归或扩散生成器。
Encodec(Meta,2022)、SoundStream(Google,2021)、Descript Audio Codec(DAC,2023)。一个卷积编码器把波形压成逐时间步向量;**残差矢量量化(RVQ)**把每个向量转成 K 层码本索引的级联;解码器反向还原。24kHz 音频在 2 kbps 下,用 8 层 75 Hz 的 RVQ 码本 = 600 token/秒。
波形 (16000 采样/秒) └─ 编码器 conv ─┐ ├─ RVQ 第 1 层 → 75 Hz 的索引 ├─ RVQ 第 2 层 → 75 Hz 的索引 ├─ ... └─ RVQ 第 8 层
💡 RVQ 的直觉:第 1 层码本量化最粗(捕捉语音的「是什么音」),第 2 层量化第 1 层的残差(补充细节),第 3 层再量化第 2 层的残差……层层递进。8 层下来,总比特率 =
8 × log₂(码本大小) × 75 Hz。这与图像里的渐进 JPEG、第 12 节的残差量化(RVQ for VQ-VAE)是同一种「粗到细」思想。
Token 自回归。把 RVQ token 拍平成序列,跑一个 decoder-only Transformer。MusicGen 用「延迟并行(delayed parallel)」以每流偏移的方式并行发射 K 个码本流。VALL-E 从文本提示 + 3 秒声音样本生成语音 token。
潜在扩散。把编解码器 token 打包成连续潜变量,或用类别扩散建模。Stable Audio 2.5 在连续音频潜变量上用流匹配。AudioLDM 2 用「文本 → mel → 音频」的扩散链。
💡 2024-2026 趋势:流匹配在音乐上赢了(推理更快、样本更干净),而 token 自回归仍在语音上占主导,因为它天然因果、好流式。
| 系统 | 任务 | 骨干 | 延迟 |
|---|---|---|---|
| ElevenLabs V3 | TTS | token 自回归 + 神经声码器 | ~300ms 首 token |
| OpenAI GPT-4o 音频 | 全双工语音 | 端到端多模态自回归 | ~200ms |
| NaturalSpeech 3 | TTS | 潜在流匹配 | 非流式 |
| Stable Audio 2.5 | 音乐 / 音效 | DiT + 音频潜变量流匹配 | 1 分钟片段约 10 秒 |
| Suno v4 | 完整歌曲 | 未公开;疑似 token 自回归 | 每首歌约 30 秒 |
| Udio v1.5 | 完整歌曲 | 未公开 | 每首歌约 30 秒 |
| MusicGen 3.3B | 音乐 | Encodec 32kHz 上的 token 自回归 | 实时 |
| AudioCraft 2 | 音乐 + 音效 | 流匹配 | 5 秒片段约 5 秒 |
| Riffusion v2 | 音乐 | 频谱图扩散 | ~10 秒 |
code/main.py 模拟核心思想:在合成「音频 token」序列(两种风格:风格 A 是低/高交替像语音,风格 B 是单调爬升像音乐)上,训一个迷你的 next-token Transformer。条件化风格,采样。
def make_tokens(style, length, vocab_size, rng): if style == 0: # 「类语音」:交替 return [i % vocab_size for i in range(length)] # 「类音乐」:爬升 return [(i * 3) % vocab_size for i in range(length)]
一个条件化风格的双 gram 风格预测器。重点是模式:编解码器 token → 交叉熵训练 → 自回归采样。
给定风格 token 和起始 token,从预测分布采样下一个 token,继续 20-40 个 token。
编解码器质量决定输出上限:如果编解码器无法忠实表示某个声音,生成器再强也没用。DAC 是当前开源最优。
RVQ 误差累积:每层 RVQ 建模上一层残差,第 1 层误差会传播。高层用温度 0 采样有帮助。
音乐结构:30 秒 token 在 75 Hz 下是 2 万+ token,对 Transformer 很难。MusicGen 用滑窗 + 提示续写;Stable Audio 用更短片段 + 交叉淡入淡出。
边界伪影:生成片段间交叉淡入淡出需仔细的 overlap-add。
干净数据饥渴:音乐生成器需要数万小时授权音乐。Suno / Udio 的 RIAA 诉讼(2024)把这一点推到台前。
声音克隆伦理:3 秒样本 + 文本提示,足以让 VALL-E / XTTS / ElevenLabs 克隆声音。每个生产模型都需要滥用检测 + 退出名单。
⚠️ MusicGen「延迟并行」为何重要:朴素做法是把 K 层 RVQ token 全部拍平成一个超长序列(
K × 长度),Transformer 难以处理。延迟并行让 K 个码本流并行发射,但每流有一个时间偏移——于是序列长度从K × 长度降回约长度,而 K 个流的信息通过偏移位置编码保留。这是音频 token 自回归能扩展到长音乐的关键技巧。
| 任务 | 2026 年栈 |
|---|---|
| 商业 TTS | ElevenLabs、OpenAI TTS 或 Azure Neural |
| 声音克隆(已验证同意) | XTTS v2(开源)或 ElevenLabs Pro |
| 背景音乐、快 | Stable Audio 2.5 API、Suno 或 Udio |
| 带歌词音乐 | Suno v4 或 Udio v1.5 |
| 音效 / 拟音 | AudioCraft 2、ElevenLabs SFX 或 Stable Audio Open |
| 实时语音代理 | GPT-4o realtime 或 Gemini Live |
| 开源音乐研究 | MusicGen 3.3B、Stable Audio Open 1.0、AudioLDM 2 |
| 配音 / 翻译 | HeyGen、ElevenLabs Dubbing |
音频是用户期望边生成边到达(而非一次性到达)的唯一输出模态。用生产术语,这意味着 TPOT 很重要(Time Per Output Token),因为用户的收听速度是目标吞吐——不是阅读速度。对 16kHz、75 token/秒(Encodec)的音频,服务器必须每用户每秒生成 ≥75 个 token 才能保持播放流畅。
两个架构后果:
流匹配音频模型无法平凡地流式:Stable Audio 2.5 和 AudioCraft 2 一次渲染固定片段长度。要流式,你得把片段切块并重叠边界——类似滑窗扩散——比编解码器自回归模型多 100-300ms 延迟开销。
如果产品是「实时语音对话」或「实时音乐续接」,选编解码器自回归路径;如果是「提交时渲染 30 秒片段」,流匹配在质量与总延迟上胜出。
💡 GPT-4o 音频的端到端革命:传统 TTS 是「文本 → 声学特征 → 声码器 → 波形」的多阶段管线,每阶段丢一点质量、加一点延迟。GPT-4o 把音频 token 直接纳入多模态 Transformer 的词表,端到端生成——这就是它能做到 ~200ms 首 token、全双工、带情感的原因。代价是训练数据与算力门槛极高。
本节产出一个音频简报技能文件(位于原课程 outputs/skill-audio-brief.md)。
skill-audio-brief.md:输入音频简报(任务、时长、风格、声音、授权),输出:模型 + 托管、提示格式(流派标签、风格描述符、结构标记)、编解码器 + 生成器 + 声码器链、种子协议、评估方案(MOS / CLAP 分 / TTS 的 CER / 用户 A/B)。简单。 跑 code/main.py,显式设定风格。验证生成的序列匹配该风格的模式。
中等。 加延迟并行解码:模拟 2 个必须保持 1 步偏移的 token 流,训一个联合预测器。
困难。 用 HuggingFace transformers 本地跑 MusicGen-small。用三个不同提示生成 10 秒片段,做风格遵从度的 A/B。
下一节,我们把生成扩展到三维——3D 生成:高斯泼溅、神经辐射场、3D 扩散,以及如何从文本或单张图像生成可旋转、可重新打光的三维资产。