GitHub 趋势 · 第 66 期
YuE2:24GB 显存本地写歌,分数压过 Suno,权重却禁止商用
#GitHub趋势#音乐生成#开源许可
YuE2 是这轮趋势榜上最反直觉的一个。它的第一方代码、agent skill 和文档全是 Apache 2.0,拿去改、拿去集成都可以;但真正决定你能不能靠它出活的那部分——模型权重——单独授权在 CC BY-NC 4.0,也就是禁止商用。同一个仓库里两套许可,分界线不在代码里,在你把生成的歌拿去干什么。它同时在自报基准 WildSongBench 上把 Suno v5/v6、Mureka 9 都压在下面,但作者自己补了一句限定:几个最高均值之间的差距很小,不足以证明统计显著。这一期值得记的就是这两句话。
音乐生成这条线上,闭源 SaaS 一直是主场:Suno、Udio 这类产品按月收费、按次数收费,音质确实好,但你既看不到它的编排,也改不动任何一个音。想做本地、想改和弦、想批量出活,就会撞上三堵墙——显存、编排不可见、以及许可。YuE2 正面回答了前两堵,第三堵它选择写进 README 里,让用户自己判断。
一、它是什么
README 的自我描述是一行英文:YuE2: Unifying Symbolic and Audio Music Generation at Frontier Quality(在符号与音频两个层面统一的高质量音乐生成)。一句话版本:给它歌词和风格提示词,它先写出一份旋律与和弦的「计划」,再把这份计划渲染成一首带人声与伴奏的完整歌曲。
仓库由 multimodal-art-projection 组织维护,2025-01-23 创建,最近推送 2026-09-11,默认分支 main,主语言 Python,仓库体积约 28 MB,topic 里是 music-generation、audio-generation、voice-cloning、foundation-models、llms 这一组。官方试听主页在 https://map-yue2.github.io/。
还有一句容易被跳过、但对手上已有教程的人很关键的话,就写在 README 顶部:Looking for the original YuE? Its code, documentation, and license are preserved on the YuE-v1 branch(找原来那个 YuE?它的代码、文档和许可都保留在 YuE-v1 分支)。也就是说 v1 没被删,而是被整体挪进了分支,主分支现在讲的是 YuE2——按老教程装的人,会在安装步骤上直接对不上。
二、「白盒」是它和 Suno 最大的不同
官方把骨架写成一句话:一个 AR-NAR Mixture-of-Transformers 主干自回归预测乐谱与语义 token,再用 flow matching 生成声学 latent,最后由 VAE 解码成 48 kHz 立体声。分段的 Python API 是 plan() → generate_semantic() → synthesize() → decode()。
真正能被用户摸到的是中间那份「计划」。旋律和和弦变成可读可改的 ABC 记谱,人和 Agent 都能直接看、直接改,改完再渲染。控制它的是这一组分档(下表为 README 原文):
| 设置 | 行为 |
|---|---|
| cot="full" | 生成可编辑的旋律-和弦计划;新歌的默认值 |
| cot="melody" | 使用旋律计划搭配自由伴奏;翻唱推荐这一档 |
| cot="off" | 直接由歌词与风格生成 |
| abc=... | 在 full 或 melody 模式下自己提供乐谱 |
围绕这份计划,官方把用法分成三种:创作(Create)、翻唱(Cover)、编辑(Edit),区别只在于乐谱从哪来——模型自己写、从录音转写、还是人手改过。翻唱那条路要先用 SheetSage2 把源录音转成 ABC 乐谱,再配新歌词或目标风格;官方明确提示翻唱应当用 cot="melody" 并且乐谱不带和弦符号,这样伴奏才能跟着新风格走。
三、README 自己列出的核心能力
| 能力 | README 表述 |
|---|---|
| 前沿质量 | 在 WildSongBench 上与 Suno v5/v6 相当;best-of-8 取得 6.9632 SongBench Avg,是所有被测设置中最高的观测均值 |
| 符号规划的白盒生成 | 渲染之前就能读、能播、能改这份编排,旋律与和弦成为人和 Agent 都能检查的显式控制量 |
| 零样本翻唱与 Agent 编辑 | 同一套生成权重既做创作,也做翻唱与编辑 |
| 输出规格 | 直接产出 48 kHz 立体声,不做量化 |
| Agent skill | 仓库内 skills/yue2-music/ 是一套 SKILL.md 包,教 Agent 生成歌曲、转写翻唱、编辑 ABC 乐谱、检查乐理不变量 |
配套的开源模型与资源也在 README 的同一张表里:
| 资源 | 用途 |
|---|---|
| YuE2-3B | 歌曲生成、符号规划、翻唱与编辑 |
| YuE2-Vae | 默认生成与试听解码器 |
| YuE2-Vae-legacy | 基准测试协议所用的解码器 |
| SheetSage2 | 音频转乐谱,翻唱与编辑用 |
| MERT-v2-FullSong / MERT-v2-30s | 整曲与短片段音乐表征,SheetSage2 的编码器 |
| WildSongBench | 评测提示词与基准资源 |
另外两组数字也被写进了 README:MERT2 在 15 项 MARBLE 指标里拿下 14 项 SOTA,GTZAN 风格分类准确率 91.72%;SheetSage2 在 13 项指标里拿下 10 项,RWC-Pop 人声旋律 pitch-class F1 为 82.51%。不过官方注明,MERT2 的特征提取对生成是可选的,YuE2 的流程不需要单独下载 MERT2。
四、自报基准:数字与作者自己的限定语
下表是 README 里的 WildSongBench 结果,192 条提示词、自动评测、2026-09-12,标 † 的是「公开权重可用」的设置,17 个设置全部列出,按 SongBench Avg 排序。
| 系统 / 设置 | SongBench Avg ↑ | AudioBox PQ ↑ | MuLan ↑ | PER ↓ |
|---|---|---|---|---|
| YuE2 (best-of-8) † | 6.9632 | 8.2714 | 0.5051 | 9.79% |
| Mureka 9 | 6.9377 | 8.0226 | 0.4394 | 11.69% |
| Suno v5 | 6.8721 | 8.1698 | 0.5428 | 8.10% |
| YuE2 † | 6.7316 | 8.2598 | 0.5068 | 8.44% |
| Suno v5.5 | 6.7150 | 8.1955 | 0.5089 | 5.96% |
| Suno v4.5 | 6.6995 | 8.2541 | 0.5022 | 5.80% |
| Suno v6 | 6.5562 | 8.1296 | 0.4916 | 7.58% |
| Suno v6 Wild | 6.4195 | 8.1785 | 0.4999 | 7.45% |
| LeVo 2 † | 6.3247 | 8.3966 | 0.3542 | 26.12% |
| MiniMax Music 2.6 | 6.3222 | 8.1711 | 0.4251 | 24.55% |
| MiniMax Music 3 † | 6.2830 | 8.2825 | 0.3928 | 6.27% |
| HeartMuLa † | 6.2483 | 8.2933 | 0.3823 | 10.71% |
| Muse † | 6.0349 | 8.0517 | 0.3937 | 33.42% |
| ACE-Step 1.5 † | 6.0118 | 8.0518 | 0.4372 | 7.46% |
| DiffRhythm 2 † | 5.2428 | 7.9782 | 0.3782 | 18.41% |
| YuE 1 † | 4.9165 | 7.8683 | 0.2623 | 36.38% |
| SongBloom † | 4.2350 | 8.1539 | 0.2697 | 19.19% |
这张表下面,作者自己写了三句限定,值得一起读:一是排名会随指标变化,MuLan 最高的是 Suno v5,AudioBox PQ 最高的是 LeVo 2;二是「the small gap between the highest means does not establish statistical significance」(最高均值之间的小差距不足以确立统计显著性);三是 YuE2 的两个设置都用了符号规划,并且基准协议用的是 YuE2-Vae-legacy 解码器。也就是说,6.9632 与 6.8721 之间那 0.09,官方自己没把它当成定论。
另一处值得记的是最末一名:YuE 1 在同一套基准上是 4.9165。这一代与上一代之间差了 2 分以上,不是微调的量级。翻唱那节还有一组数字:948 个作品上,带完整乐谱的 YuE2 达到 0.647 CLEWS mAP,而没有乐谱是 0.006——官方强调这里用的是通用生成器,没有做翻唱专项微调。
五、上手:Linux 加 24GB 显存
硬件前提写在 Quick start 的第一行,原文是:Linux · Python 3.12 · NVIDIA GPU with BF16 support and 24 GB VRAM。下面这段命令逐行取自 README,模型文件会在首次使用时从 Hugging Face 下载:
git clone https://github.com/multimodal-art-projection/YuE.git cd YuE python3.12 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install . python examples/generate.py --output outputs/first-song
跑完打开 outputs/first-song/audio.flac。README 说这个输出目录里同时保留乐谱、语义 token、声学 latent、生成设置和模型标识。Python 接口同样短(README 原文):
import json
from pathlib import Path
from yue2 import YuE2Pipeline
request = json.loads(Path("examples/song.json").read_text(encoding="utf-8"))
with YuE2Pipeline.from_pretrained("m-a-p/YuE2-3B", device="cuda") as pipe:
song = pipe(**request)
song.save_artifacts("outputs/my-song")
print(song.truncated)
翻唱这条路,官方给的示例是把风格与乐谱一起喂进去:
from pathlib import Path
from yue2 import YuE2Pipeline
with YuE2Pipeline.from_pretrained("m-a-p/YuE2-3B", device="cuda") as pipe:
cover = pipe(
style="English, jazz-funk, warm lead vocal, Rhodes, bass and drums",
lyrics=Path("cover-lyrics.txt").read_text(encoding="utf-8"),
abc=Path("cover-score/score.abc").read_text(encoding="utf-8"),
cot="melody",
seed=42,
)
cover.save_artifacts("outputs/cover")
编辑走的是「先把计划导出、改完再当乐谱喂回去」这条线,官方命令是:
python examples/generate.py --request examples/song.json \ --abc-file edited.abc --cot full --output outputs/edited
Agent skill 那段官方说明是:仓库内 skills/yue2-music/ 是 SKILL.md 包,按你的 Agent 的 skill 目录机制安装;Python 运行时是单独用 pip install . 装的。README 里给的那句示范请求是:用 yue2-music skill 做一首英文钢琴流行歌,保留原始音频与乐谱,再做一版换成爵士和声、保持人声旋律与歌词顺序,然后两版一起对比听。
六、我的判断
| 说明 | |
|---|---|
| 适合 | 想在本地把「可编辑的编排」当生产环节用的人:改和弦、换风格、批量出 demo 都走同一条白盒流程;以及想研究符号规划 + flow matching 这套音频生成骨架的开发者,MERT2 与 SheetSage2 是能单独拿出来用的组件 |
| 不适合 | 要商用落地的人(权重 CC BY-NC 4.0,见下);以及只有 Mac 或消费级以下显卡的本地玩家(Linux + NVIDIA BF16 + 24GB 显存起,Apple 芯片不在支持范围) |
先说许可,这是两层口径。第一方代码、agent skill 与文档是 Apache 2.0;模型权重另行授权。README 原文两句要一起读:「YuE2's first-party code, agent skill, and documentation are licensed under Apache 2.0」以及「Model weights are separately licensed under CC BY-NC 4.0」。还有一句容易被忽略的收尾——「Apache 2.0 applies to the current repository source; the earlier yue2-v0.1.6 download archives retain their bundled licenses」,即老版本压缩包里的许可跟着老包走。真要做商用,README 给的出口是联系 gezhang@umich.edu 谈 collaboration、licensing 与 data partnership。
再看硬件。Linux + NVIDIA + BF16 + 24GB VRAM 是一条硬线,macOS 与 Apple 芯片不在支持范围,本地 Mac 只能租卡或走远程机器。24GB 这个数字也把消费级显卡切成了两半:刚好 24GB 的那一档能卡在线上下不来,往下一律不行。
基准要按口径读。6.9632 是 best-of-8——从 8 个候选里挑最好的那个;默认设置是两候选,对应 6.7316。README 两个数都给了,而标题里通常只会出现前者。
编辑的边界。原文写着「Editing generates a new complete recording; it does not preserve the original waveform outside an edit」——编辑是重新生成一整首,不是修音轨,把「编辑」理解成调音台会失望。
最后是迁移。v1 的代码、文档、许可全部留在 YuE-v1 分支,主分支已经是 YuE2。照着 2025 年那批教程装环境的人,会先在安装这一步卡住。
仓库:multimodal-art-projection/YuE(https://github.com/multimodal-art-projection/YuE)
star:Trending 日榜快照 7,134(+193 今日);GitHub API 快照 7,119;fork 812;open issue 11;watcher 81
语言 Python · 创建 2025-01-23 · 最近推送 2026-09-11 · 默认分支 main · 仓库体积 28,079 KB · topic:ai / audio-generation / music-generation / voice-cloning / foundation-models / llms
许可:第一方代码、agent skill 与文档 Apache 2.0(Copyright (c) 2026 the YuE2 authors);模型权重单独以 CC BY-NC 4.0 授权(禁止商用);YuE-v1 分支保留其原许可
基准:WildSongBench(192 条提示词 / 自动评测 / 2026-09-12),数字取自 README 与官方 demo 页
官方试听与 demo:https://map-yue2.github.io/
数据来源:GitHub Trending 官方页面与 GitHub API · 抓取时间:2026-09-13 00:23
这期的重点不是「开源又赢了一次」,而是 YuE2 把三件事摊在同一页上:一份能改的乐谱、一组自报且自带限定语的数字、一条把代码和权重分开画的许可线。前两件决定它好不好用,第三件决定你能不能拿它赚钱——这也是它比其他热门项目更值得当样本的原因。
下期如果趋势榜继续零新面孔,就按之前说的做主题族横向合集(把模型塞进小设备与边缘那一族仍凑不够成员);出现高动量新面孔,就回单项目精读。想看哪个方向,评论区说一声。
#GitHub趋势#音乐生成#开源许可