AudioCraft 包含哪些模型,分别有什么作用?
AudioCraft 是 Meta AI 推出的一个生成式音频代码库,把音乐生成、音效生成和音频压缩整合在同一套框架里。它主要包含三个模型:MusicGen 负责文本生成音乐,AudioGen 负责文本生成环境音效,EnCodec 负责把原始音频波形压缩成离散标记(token),为前两个模型提供统一的音频表示基础。
三个模型各自做什么
MusicGen:文本到音乐
MusicGen 根据用户提供的文本输入,生成多样且较长的音乐片段。它的核心是一个自回归语言模型,在 EnCodec 输出的压缩离散音乐表示(token 流)上运行,因此生成的是音乐而非普通环境声。
AudioGen:文本到音效
AudioGen 专注于文本到声音的生成,学习从环境声音中产生音频。也就是说,给它一段文字描述,它输出的是对应的环境音效,而不是旋律性的音乐。
EnCodec:神经音频编解码器
EnCodec 是三个模型里的基础组件。它把音频信号映射成一路或多路并行的离散 token 流,生成的 token 再交给 EnCodec 解码器还原回音频波形。MusicGen 和 AudioGen 都依赖它来获得可建模的离散音频表示。
它们如何协同工作
整个流程可以拆成几步:
- 原始音频波形先经过 EnCodec,被编码成离散 token 流。
- MusicGen 或 AudioGen 作为单个自回归语言模型,在这些 token 上递归建模并生成新的 token。
- 生成的 token 送回 EnCodec 解码器,映射回音频空间,得到最终输出波形。
- 需要控制生成结果时,可以接入不同类型的条件模型,例如用预训练文本编码器实现文本到音频的应用。
AudioCraft 的设计相比早期工作做了简化:MusicGen 和 AudioGen 都只用一个自回归语言模型,配合一种 token 交错模式来处理并行 token 流,从而同时捕捉音频的长程依赖并生成高质量音频。
快速对照
| 模型 | 类型 | 主要作用 |
|---|---|---|
| MusicGen | 生成模型 | 文本到音乐,生成多样、较长的音乐样本 |
| AudioGen | 生成模型 | 文本到音效,从环境声音生成音频 |
| EnCodec | 神经音频编解码器 | 提取离散音频 token,并负责编解码还原波形 |
如果你想做音乐生成,关注 MusicGen;想做环境音效,关注 AudioGen;想理解底层音频表示或做压缩相关的工作,则从 EnCodec 入手。三者共同构成 AudioCraft 这套“一站式”生成式音频代码库。