📌 项目地址:multimodal-art-projection/YuE | ⭐ 7,183 颗星 | 🔧 Python | 📜 未标注
=
先说它解决什么问题
Suno 这类产品有一个结构性缺陷:你只能通过提示词控制输出。旋律走向、和弦进行,这些音乐上最核心的决定全部藏在黑盒里。不满意?换个 prompt 重新抽卡。
YuE2(multimodal-art-projection/YuE,7183 Star,Python)换了个路线。它先根据歌词和风格提示生成一份旋律与和弦的符号乐谱,再把这份乐谱渲染成带人声和伴奏的完整歌曲。乐谱是一个真实的中间产物,能看、能播放、能改。改完谱子再渲染,控制的对象从随机种子变成了音乐本身。
架构:一条流水线,四个阶段
骨干是 AR–NAR Mixture-of-Transformers:自回归部分预测乐谱和语义 token,之后用 flow matching 生成声学 latent,VAE 解码成 48 kHz 立体声。
Python API 按阶段暴露:plan() → generate_semantic() → synthesize() → decode()。这个分阶段设计有个实际好处——某次生成的乐谱计划可以固定下来,只重跑后面的渲染阶段;解码器也可以换。具体用法在 docs/generation.md。
三种模式,同一个 checkpoint
创作、翻唱、编辑三种用法共享同一个生成模型,区别只在乐谱从哪来:
- 创作:歌词 + 风格提示 → 模型写谱 → 渲染成歌
- 翻唱:把一段录音转录成旋律乐谱,换风格零样本重演绎
- 智能体编辑:对话式修改乐谱、编曲、歌词,重新渲染
官方的 agentic 演示值得一格格看:一首《The Last Train》经过 9 步对话、14 个版本,从华语流行改到英文爵士,和声换过,还加了萨克斯独奏。每个版本的对话记录、乐谱、提示词、歌词都在项目页上,可以逐个核对。这个演示说清了符号规划的意义——对话改的是谱面,改完能追溯。
翻唱模式用到的转录能力,对应的应该是配套发布的 SheetSage2。Hugging Face 上还放了 MERT2 和 WSB,README 没有逐个展开,需要的话自己翻模型页。
分数怎么看
YuE2 在 WildSongBench 上对标 Suno v5/v6。best-of-8 设置下拿到 6.9632 SongBench Avg,是所有评估设置里观察到的最高均值。
两点要留意:这是 best-of-8,不是单次生成的成绩;192 个 WildSongBench 提示,两个 YuE2 设置都用了符号规划。评估协议和完整分数在 docs/benchmarks.md,下结论前建议自己读一遍。
门槛
- Linux,Python 3.12
- 支持 BF16 的 NVIDIA GPU,24 GB 显存
24 GB 把消费级卡卡在 4090/5090 这一档。README 的 Quick start 在”48 kHz stereo aud”处被截断,安装命令我没有,不编。以仓库里的 Quick start 链接和文档为准。
原版 YuE 的代码、文档和许可证保留在 YuE-v1 分支。查许可证、复现旧结果,去那边。
我的判断
这个项目值钱的地方不在分数,在接口。乐谱变成显式控制层后,编辑音乐的可以是人,也可以是程序——这就是 agentic editing 能成立的原因。闭源产品给你一个“重新生成”按钮,YuE2 给你一份可以改的谱子。
代价:一张 24 GB 的卡,以及 best-of-8 和单次生成之间的质量差距。如果你想在生成流程里插入自己的音乐判断,这个项目提供了别处没有的入口。