mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
2753 字
8 分钟
[音乐生成] MuseNet 与 Jukebox:从弹琴到唱歌
2026-08-04

MuseNet 与 Jukebox 论文解读:OpenAI 两代音乐模型,从”弹钢琴”到”唱出来”#

论文:MuseNet(无正式论文,依据 OpenAI 官方博客,Christine Payne,2019.04.25) 论文:Jukebox: A Generative Model for Music(arXiv<2005>.00341,2020.04.30) 作者/机构:OpenAI(Jukebox 作者为 Prafulla Dhariwal、Heewoo Jun、Christine Payne、Jong Wook Kim、Alec Radford、Ilya Sutskever)

AI 做音乐这事,OpenAI 在一年之内干了两次,而且两次选了完全相反的路。2019 年 4 月的 MuseNet 只玩符号音乐——你给它一堆 MIDI 音符,它预测下一个音符,属于”读谱子弹琴”;2020 年 4 月的 Jukebox 直接上原始波形——它生成的不再是乐谱,而是能听到人声、能跟着歌词”唱”出来的整首歌,属于”直接录小样”。这两步从抽象层级上看是彻底的两极:前者省事但声音是”假”的,后者真实但慢得离谱。读懂这两个模型,就摸清了 AI 音乐生成从”符号”到”音频”的分野,也理解了为什么后来整个行业都跑去走”先压缩、再建模”的路。


一、MuseNet:用 GPT-2 的思路写 MIDI#

MuseNet 在 2019 年 4 月 25 日发布,那天 OpenAI 还搞了一场全程无人(包括作者自己)提前听过的直播音乐会。它本质上就是把 GPT-2 那套”预测下一个 token”的玩法搬到音乐上:喂进来几十万首 MIDI 文件,模型学会的是”给定前面一串音符,下一个音符最可能是啥”。这不是传统的算法作曲,它没有任何显式的和声、节奏规则,全凭数据里自己摸出来的模式。

基本配置很朴素:72 层 Transformer、24 个注意力头、上下文 4096 个 token。这里有个容易误解的点——MuseNet 博客原文说的是在 Sparse Transformer(稀疏 Transformer) 的 recompute 和优化内核上训练,但在 4096 个 token 范围内是全注意力(full attention)。也就是说”稀疏”主要是省显存、做可训练性优化,模型真正看上下文是 4096 个 token,这也是它能记住曲子长程结构(几十到上百个小节的呼应)的原因之一。10 种乐器覆盖了钢琴、吉他、鼓、贝斯、弦乐、管乐这些常见编制,能模仿从肖邦到甲壳虫再到爵士的各种风格,还能把两种风格缝在一起——比如给一段肖邦夜曲开头,让它用流行乐队编配继续写。

编码方式挺讲究:把音高、力度、乐器信息压进单个 token,再用 wait token 表示时值停顿。训练时加了作曲家 token(composer token)和配器 token(instrumentation token)做条件,生成时想听谁就点谁。数据来源主要是 ClassicalArchives 和 BitMidi 捐赠的 MIDI 库,加上 MAESTRO 数据集。它还有个”内批评家”(inner critic):训练时顺便学”这段是数据集里的还是模型自己生成的”,生成时拿这个分数挑样本。

MuseNet 的价值不在质量——它的输出就是 MIDI,声音全靠音色库回放,离”唱片”差得远。它的意义是验证了:音乐这种有时间结构的序列,一样能套 GPT 式的自回归预训练。这条路后来被一堆符号音乐模型走下去了。

二、Jukebox:直接对着 44.1kHz 波形下手#

MuseNet 的问题很致命:MIDI 是符号,符号丢了音色、丢了对齐,更丢人声。Jukebox 的野心是直接从原始音频域生成音乐——不只是器乐,还要带人声歌唱。论文摘要原话:在 raw audio 域生成带歌唱的音乐。它要面对的第一个难题就是序列长度:44.1kHz 采样率下,一分钟就是 260 多万个采样点,自回归模型根本扛不住。解法分两步:先压缩,再建模

第一步是多尺度 VQ-VAE(矢量量化变分自编码器)。它把 44.1kHz 的原始波形按 8×、32×、128× 三档比例压缩成离散 code,越往上压缩越狠、越接近”曲子的大纲”,越往下保留越多细节(音色、人声的唇齿气口)。三个层级各有一个 2048 大小的 codebook。这套 VQ-VAE 还加了频谱损失(spectral loss)来保住高频细节、用 codebook 随机重启防止码本坍缩。

第二步是三层自回归 Transformer prior。顶层 prior(128× 那个最抽象层)决定整首歌的结构和内容,然后中间层、底层两个 upsampler 逐级”补细节”,把 code 一层层还原到可听的波形。顶层 prior 有 5B 参数——论文附录的超参表写得明明白白:72 层、width 4800、8 个注意力头、上下文 8192 个 code(对应约 24 秒音频)。中底层 upsampler 是 1B 参数。为了在这么长的序列上做自注意力,prior 用的是稀疏注意力:行/列/前一行三种分解注意力交替堆叠。

训练数据量也惊人:从网上爬了约 120 万首歌(约一半是英文歌),配上 LyricWiki 的歌词和艺术家、风格等元数据。生成时可以指定艺术家、流派、未对齐歌词三种条件——歌词和音频不做逐字对齐,模型”大概能唱出”歌词意思,但发音清晰度有限。代价是慢到离谱:渲染 1 分钟音频大约要 9 小时。论文还公开了上千个非筛选样本和完整权重,这在当时算相当大方。

三、Jukebox 的分层生成与后续价值#

Jukebox 的生成是”祖先采样”式的:顶层 prior 先自回归生成 128× 的 code 序列,中间层 upsampler 在顶层条件上生成 32× 的 code,底层 upsampler 再造 8× 的 code,最后由 VQ-VAE 解码器还原成波形。因为每级码率不同,顶层约 344 tokens/s、中层约 1378、底层约 5513,稀疏注意力 + 分层建模硬是把”分钟级音乐”这件事变成了可能。

它最大的贡献其实不止是”会唱歌”。回头看,Jukebox 几乎预告了后续所有音频生成范式的骨架:VQ-VAE 把波形变 token → 自回归 Transformer 在 token 上建模 → 条件控制(艺术家/歌词)。后来 SoundStream、EnCodec 做神经音频编解码器,VALL-E 做零样本 TTS,本质都是这套”先离散化、再语言建模”的路子,只是把 tokenizer 做得更快更省、把 prior 换成了更好的架构。Jukebox 是把”压缩后建模”第一次在音乐这个最难的长程领域里跑通了的那个。

收尾:我的一点看法#

这两兄弟放在一起看特别有意思。MuseNet 在符号层把”预测下一个 token”验证了,Jukebox 在波形层把”压缩+自回归”验证了,但 OpenAI 从此再没碰音乐生成——它把这条路的暴力美感展示给全世界看,然后让别家用更聪明的 tokenizer 和更快的架构去把它商业化。Jukebox 的速度教训(9 小时 vs 后来 Stable Audio 的 8 秒)说明:算力堆叠解决不了推理速度,抽象层级的跃迁才行。而 Jukebox 训练 120 万首版权歌曲埋下的版权雷,十年后由 RIAA 起诉 Suno/Udio 引爆——这也算一种先见之明吧。

当然,Jukebox 的短板同样明显:9 小时一分钟让它毫无实用价值,声音”闷、糊”是公认的,歌词发音要靠脑补。MuseNet 更是连”听感”都没有。但作为 2019–2020 年 AI 音乐的地基,这两块砖立得很稳。


附:核心数据速查#

基本盘(MuseNet)

项目数值
发布2019.04.25(OpenAI 博客,无正式论文)
建模对象符号音乐(MIDI),预测下一个音符 token
架构72 层 Transformer、24 注意力头、上下文 4096 token
乐器10 种
训练数据数十万 MIDI 文件(ClassicalArchives、BitMidi、MAESTRO 等)
编码音高+力度+乐器压成单 token,wait 标记时值

基本盘(Jukebox)

项目数值
论文arXiv<2005>.00341(2020.04.30)
建模对象原始音频(44.1kHz),含人声歌唱
压缩多尺度 VQ-VAE,8×/32×/128×,codebook 2048
顶层 prior 参数5B(72 层、width 4800、8 头、上下文 8192 code)
中/底层 upsampler1B
训练数据约 120 万首歌(约半数为英文)
推理速度渲染 1 分钟音频约需 9 小时
条件艺术家、流派、未对齐歌词

核心创新

创新要点
MuseNet:GPT 式音乐预训练符号音乐上验证”下一个 token”自回归范式
Jukebox:多尺度 VQ-VAE8×/32×/128× 三级压缩,把长波形变成可建模的 code
Jukebox:分层自回归 prior顶层 5B 定结构,1B upsampler 逐级补细节
Jukebox:稀疏注意力行/列/前一行分解注意力应对超长序列
Jukebox:多条件控制艺术家/流派/未对齐歌词引导生成与歌唱

关键成绩

  • MuseNet:生成 4 分钟多乐器作品,可融合跨风格(如肖邦旋律+流行乐队编配)
  • Jukebox:首个能生成原始音频+人声歌唱的音乐模型,连贯性达多分钟
  • Jukebox:开源权重、代码与上千个非 cherry-pick 样本

关键概念清单

  • MIDI = Musical Instrument Digital Interface,乐器的数字接口/符号音乐格式
  • Sparse Transformer = 稀疏 Transformer,用分解注意力降复杂度
  • VQ-VAE = Vector Quantised Variational AutoEncoder,矢量量化变分自编码器
  • codebook = 码本,离散 token 的查询表
  • prior = 先验模型,此处指自回归生成 code 的 Transformer
  • upsampler = 上采样器,逐级还原细节的生成层
  • spectral loss = 频谱损失,用于保住高频细节的损失项
  • ancestral sampling = 祖先采样,逐 token 自回归采样
分享

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

[音乐生成] MuseNet 与 Jukebox:从弹琴到唱歌
https://mizuki-eaf.pages.dev/posts/音频生成模型/音乐生成-musenet-与-jukebox从弹琴到唱歌/
作者
无名之子
发布于
2026-08-04
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录