AudioCraft 可以用于哪些音频生成任务?

AudioCraft 是 Meta AI 推出的音频生成研究代码库,根据其官方页面说明,它覆盖三类核心任务:文本到音效生成、文本到音乐生成,以及音频压缩。它把音乐、音效和压缩统一在同一个代码框架下,模型都基于原始音频信号训练。如果你关心的是“输入一段文字能得到什么音频”,主要对应前两类任务;如果你关心的是“如何把音频转成离散表示”,则对应 EnCodec 的压缩能力。

三类任务分别由哪个模型承担

AudioCraft 并不是单一模型,而是一个代码库,内部包含 MusicGen、AudioGen 和 EnCodec 三个组件,各自对应不同任务:

任务 承担模型 输入 输出
文本到音效生成 AudioGen 文本描述 环境声音
文本到音乐生成 MusicGen 用户提供的文本 多样且较长的音乐样本
音频压缩 / 离散化 EnCodec 原始音频波形 一路或多路离散 token 流

文本到音效生成:AudioGen

AudioGen 专注于文本到声音的生成,学习从环境声音中产生音频。也就是说,你给它一段描述环境声音的文字,它输出对应的音效,而不是音乐。官方页面把这项任务明确称为 “Text-to-sound generation”。

文本到音乐生成:MusicGen

MusicGen 根据用户提供的文本输入,生成多样且较长的音乐样本。官方页面将其称为 “Text-to-music generation”,并提供了可试听的样本。它和 AudioGen 的区别在于目标音频类型:一个偏向音乐,一个偏向环境音效。

音频压缩:EnCodec

EnCodec 是神经音频编解码器,负责从原始波形中学习离散音频 token。它把音频信号映射成一路或多路并行的离散 token 流。在 AudioCraft 的整体流程中,EnCodec 是生成模型的前置与后置环节:先由 EnCodec 把音频转成 token,语言模型再对这些 token 建模,生成的 token 最后交回 EnCodec 解码器还原成输出波形。

这些任务在技术上是怎么串起来的

理解 AudioCraft 的任务范围,关键是理解它简化后的生成流程。官方页面给出的机制是:

  1. 编码:EnCodec 把原始音频波形映射为离散 token 流。
  2. 建模:一个自回归语言模型(LM)在这些 token 上递归建模。MusicGen 和 AudioGen 都由单个自回归语言模型构成,运行在压缩后的离散音乐表示(即 token)之上。
  3. 控制:通过不同的条件模型控制生成,例如使用预训练的文本编码器实现文本到音频的应用。
  4. 解码:生成的 token 送入 EnCodec 解码器,映射回音频空间,得到输出波形。

官方还提到一个设计要点:通过单一的模型和一种 token 交错模式,能够高效建模音频序列,同时捕捉音频中的长期依赖,并生成高质量音频。这解释了为什么 MusicGen 能生成“较长”的音乐样本——长期依赖的建模能力直接关系到长音频的连贯性。

如何判断某个任务是否属于 AudioCraft 的范围

可以按下面几个条件核对:

  • 输入是文本、输出是音频:属于文本到音效(AudioGen)或文本到音乐(MusicGen)。
  • 输入是音频、输出是离散 token:属于 EnCodec 的音频压缩/编码能力。
  • 需要可控生成:AudioCraft 支持用条件模型控制生成,官方举例是文本编码器用于 text-to-audio。
  • 目标是音乐:对应 MusicGen;目标是环境声音:对应 AudioGen。

如果你的需求是语音识别、语音合成(TTS)或音频分类,官方页面没有把它们列为 AudioCraft 的任务,不应默认包含。

想进一步了解或使用

官方页面提供了几个入口:代码(Go to the code)、MusicGen 与 AudioGen 的详细介绍页、EnCodec 介绍页,以及可试听的样本。资源区还列出了 Meta AI 博客、技术细节、模型卡、隐私政策、条款和 GitHub。需要确认具体模型能力或使用条件时,应以这些官方资料为准。

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.