AudioCraft 包含哪些模型,分别有什么作用?

AudioCraft 是 Meta AI 推出的一个生成式音频代码库,把音乐生成、音效生成和音频压缩整合在同一套框架里。它主要包含三个模型:MusicGen 负责文本生成音乐,AudioGen 负责文本生成环境音效,EnCodec 负责把原始音频波形压缩成离散标记(token),为前两个模型提供统一的音频表示基础。

三个模型各自做什么

MusicGen:文本到音乐

MusicGen 根据用户提供的文本输入,生成多样且较长的音乐片段。它的核心是一个自回归语言模型,在 EnCodec 输出的压缩离散音乐表示(token 流)上运行,因此生成的是音乐而非普通环境声。

AudioGen:文本到音效

AudioGen 专注于文本到声音的生成,学习从环境声音中产生音频。也就是说,给它一段文字描述,它输出的是对应的环境音效,而不是旋律性的音乐。

EnCodec:神经音频编解码器

EnCodec 是三个模型里的基础组件。它把音频信号映射成一路或多路并行的离散 token 流,生成的 token 再交给 EnCodec 解码器还原回音频波形。MusicGen 和 AudioGen 都依赖它来获得可建模的离散音频表示。

它们如何协同工作

整个流程可以拆成几步:

  1. 原始音频波形先经过 EnCodec,被编码成离散 token 流。
  2. MusicGen 或 AudioGen 作为单个自回归语言模型,在这些 token 上递归建模并生成新的 token。
  3. 生成的 token 送回 EnCodec 解码器,映射回音频空间,得到最终输出波形。
  4. 需要控制生成结果时,可以接入不同类型的条件模型,例如用预训练文本编码器实现文本到音频的应用。

AudioCraft 的设计相比早期工作做了简化:MusicGen 和 AudioGen 都只用一个自回归语言模型,配合一种 token 交错模式来处理并行 token 流,从而同时捕捉音频的长程依赖并生成高质量音频。

快速对照

模型 类型 主要作用
MusicGen 生成模型 文本到音乐,生成多样、较长的音乐样本
AudioGen 生成模型 文本到音效,从环境声音生成音频
EnCodec 神经音频编解码器 提取离散音频 token,并负责编解码还原波形

如果你想做音乐生成,关注 MusicGen;想做环境音效,关注 AudioGen;想理解底层音频表示或做压缩相关的工作,则从 EnCodec 入手。三者共同构成 AudioCraft 这套“一站式”生成式音频代码库。

audiocraft.metademolab.com
AudioCraft is a single-stop code base for all your generative audio needs: music, sound effects, and compression after training on raw audio signals.