mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
2286 字
6 分钟
[音乐生成] MusicLM:文字写歌
2026-07-22

MusicLM 论文解读:一段文字写一首歌,谷歌把音乐生成做成了”翻译活”#

论文:MusicLM: Generating Music From Text 作者/机构:Andrea Agostinelli、Timo I. Denk、Zalán Borsos、Jesse Engel、Mauro Verzetti 等(Google Research,arXiv<2301>.11325,2023.01.26 提交)

在 MusicLM 出来之前,“文生音乐”基本是两条路:要么像 MusicGen 那样直接上单模型硬训,要么像 Jukebox 那样慢到没法用。谷歌这篇的思路跟谁都不太一样——它把音乐生成看成一个分层的 seq2seq 翻译任务:先让一段文本描述”翻译”成音频的语义骨架,再逐级还原成 24kHz 的完整波形。摘要原话是”分层序列到序列建模”,而它放出来的 MusicCaps 基准,后来成了整个 AI 音乐圈的评分标准。这篇文章读起来最爽的地方在于:它把”音乐 = 语义 + 声学”拆得干干净净,每一层都有专门的模型伺候。


一、总盘子:一条三层流水线#

MusicLM 的核心是把音乐按抽象层级拆成两段”翻译”:

  1. 文本 → 语义 token。输入的描述(比如”被失真吉他 riff 托底的一段安静小提琴旋律”)先被编码成 MuLan 的文本嵌入(text embedding),喂给第一级模型。这一级的目标是生成音乐的语义 token(semantic token)——由 w2v-BERT(600M 参数) 从音频里学出来的表征,大概对应”这段音乐在表达什么”。

  2. 语义 token → 声学 token。第二级拿语义 token 做条件,生成声学 token(acoustic token),用的是 SoundStream 神经音频编解码器产出的 token。这一级管的是”具体怎么发声”——音色、混响、声部叠加这些细节。

  3. 声学 token → 波形。最后 SoundStream 解码器把声学 token 还原成 24kHz 的音频。因为 SoundStream 本身就是可微的编解码器,所以这段是纯解码,不用再学。

换句话说,MusicLM 的”语言模型”干了前两级——先写大纲(语义),再按大纲排细节(声学)——而第三级只是把”字”变成”声音”。MuLan 在这里扮演”翻译官”的角色:它是谷歌提前训好的文本-音乐联合嵌入模型,负责把文字描述和音乐内容对齐到同一个向量空间,这样模型才知道”distorted guitar riff”到底长什么样。SoundStream 则来自谷歌自家 2021 年的工作,用残差向量量化(RVQ)把音频压成 token,是音频 token 化的开山之作。

二、为什么搞”分层”:一个 token 干不了两件事#

论文里反复强调的观察是:语义和声学是两种不同粒度的信息。语义 token 稀疏、变化慢,适合表达”这一段是主歌还是副歌""有没有人声”;声学 token 密集、变化快,负责把每一帧的声音细节填满。如果只用一个模型、一种 token 端到端硬来,长程结构很难稳定——这就是之前很多文生音乐模型”开头还行、三十秒后开始跑偏”的原因。分两层之后,语义层把”多分钟连贯”这个最难的骨头先啃下来,声学层再往上贴细节,各干各的、互相不拖累。

这就是论文摘要说的”在 24kHz 上生成持续数分钟的连贯音乐”——several minutes 这个能力在当时是罕见的。加上它对文本遵循度(adherence)的评测全面超过前代系统,音频质量和文本匹配两项都赢了,这在当时的文生音乐里是独一档的。

三、附带的本事:哼歌转谱、零样本风格迁移#

MusicLM 还能同时吃文本 + 一段旋律两个条件:你给它哼一段或吹一段口哨,再配上文字描述,它就能把这段旋律”重编”成描述里的风格——相当于”用文字给旋律换皮肤”。这个能力来自它把旋律也编码成同样的语义/声学 token 空间,属于天然的”多模态条件”设计,不是事后硬加的。

论文还展示了几个零样本玩法:把一段音乐的关键属性(如氛围、乐器)迁移到另一段音乐上,或者在给定延续(continuation)时生成接下来的部分。这些都没为每个任务单独训练,全靠统一的分层表示捎带手就实现了。这一手后来在 AudioLDM 2 那里被发扬光大,成了”统一表示”路线的标准剧本。

四、MusicCaps:顺手立了行业标准#

MusicLM 最深远的影响可能不是模型本身,而是它发布的 MusicCaps 数据集5500 个(5.5k)音乐-文本对,由人类专家撰写丰富的文字描述。在当时文生音乐基本没有统一评测集的背景下,MusicCaps 几乎成了事实标准——后来的 MusicGen 拿它当评测基准、各种 FAD 分数都在它上面跑。所以 MusicLM 这篇论文是”给模型 + 给标尺”双料贡献,后者比前者活得还久。

一个值得注意的细节:MusicLM 论文发表后没有开源模型权重,只有 demo 和数据集。这个决定后来被不少人吐槽——技术文档写得再全,没权重就没法复现。直到 2023 年 5 月才通过谷歌的 AI Test Kitchen 开放试用,而真正把它商业化的 Lyria(2023.11)是另一个模型了。

收尾:我的一点看法#

MusicLM 的”分层 seq2seq”设计,本质是把”音乐里不同粒度的信息”拆给不同模型去管,这个抽象层级的思想比它具体用的 SoundStream/w2v-BERT 更值得记住。但分层也带来了体量和推理的开销——两段级联、多个模型串起来跑,效率上天生吃亏。这跟后来 MusicGen 的”单阶段四码本并行”形成鲜明对照:一个把复杂度摊给多个模型,一个把复杂度摊进一个模型。历史后来证明,单阶段 + 更好的 tokenizer 才是开源事实基线的方向,而分层思想则悄悄融进了”先语义后声学”的各种混合架构里。

另外说句公道话:MusicLM 不开源让它的影响力打了折,但 MusicCaps 的发布让它依然”活”到了今天。给行业留下评测标尺这件事,有时候比留模型更值钱——毕竟标尺不会过时,权重会。


附:核心数据速查#

基本盘

项目数值
论文arXiv<2301>.11325(2023.01.26)
机构Google Research
范式分层 seq2seq(hierarchical sequence-to-sequence)
采样率24 kHz
生成长度多分钟连贯音乐
语义表征w2v-BERT(600M 参数)
声学 tokenizerSoundStream
文本嵌入MuLan(文本-音乐联合嵌入)
数据集MusicCaps:5.5k 音文对(人类专家标注)

核心创新

创新要点
分层条件生成文本→语义 token→声学 token→波形,三层流水线
语义/声学解耦长程结构交给语义层,细节交给声学层
文本+旋律双条件哼唱/口哨旋律可按文字描述”重编”风格
MusicCaps 基准5.5k 专家标注音文对,此后行业事实评测标准

关键成绩

  • 24kHz 生成多分钟连贯音乐,音频质量与文本遵循度均超过此前系统
  • 支持哼唱旋律 + 文本描述的条件组合(melody-conditioned)
  • 零样本实现风格迁移、延续生成等文本引导操作
  • 发布 MusicCaps 基准,成为后续文生音乐评测标配

关键概念清单

  • seq2seq = sequence-to-sequence,序列到序列建模
  • semantic token = 语义 token,描述音乐内容的离散表征
  • acoustic token = 声学 token,描述发声细节的离散表征
  • w2v-BERT = wav2vec 2.0 与 BERT 结合的语音自监督模型
  • SoundStream = 谷歌神经音频编解码器(RVQ 量化)
  • MuLan = 谷歌的文本-音乐联合嵌入模型
  • RVQ = Residual Vector Quantization,残差向量量化
  • adherence = 生成内容对文本描述的遵循度
  • MusicCaps = 5.5k 条音乐-文本描述对的评测数据集
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

[音乐生成] MusicLM:文字写歌
https://mizuki-eaf.pages.dev/posts/音频生成模型/音乐生成-musiclm文字写歌/
作者
无名之子
发布于
2026-07-22
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录