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.96328.27140.50519.79%
Mureka 96.93778.02260.439411.69%
Suno v56.87218.16980.54288.10%
YuE2 †6.73168.25980.50688.44%
Suno v5.56.71508.19550.50895.96%
Suno v4.56.69958.25410.50225.80%
Suno v66.55628.12960.49167.58%
Suno v6 Wild6.41958.17850.49997.45%
LeVo 2 †6.32478.39660.354226.12%
MiniMax Music 2.66.32228.17110.425124.55%
MiniMax Music 3 †6.28308.28250.39286.27%
HeartMuLa †6.24838.29330.382310.71%
Muse †6.03498.05170.393733.42%
ACE-Step 1.5 †6.01188.05180.43727.46%
DiffRhythm 2 †5.24287.97820.378218.41%
YuE 1 †4.91657.86830.262336.38%
SongBloom †4.23508.15390.269719.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趋势#音乐生成#开源许可