yue2-music Skill:给 Agent 配的可编辑音乐生成神器
近期 GitHub Trending Python 榜单上,最受关注的新面孔不是又一个 LLM 框架,而是 multimodal-art-projection/YuE 的 2.0 版本 YuE2——一个把”写歌这件事”拆成可读、可编辑、可对话的”可写程序”的音乐生成 Skill。它把 Suno 的黑盒式生成推到了一旁:你能读到乐谱、和弦,能让 agent 一句一句改旋律、配器、人声,还能在 WildSongBench 上以 6.9632 的 SongBench Avg 拿下开源第一,顺便把 Suno v5 / v6 / v5.5 / v6 Wild 全部压在身后。它不只是一个模型,更是一个直接交付给 agent 的 yue2-music Skill 包。
功能与原则
核心能力是把”歌词 + 风格”转成一段结构化音乐:plan() 先生成可读可改的旋律-和弦 ABC 谱;generate_semantic() 输出语义 token;synthesize() + decode() 用 VAE 还原成 48 kHz 立体声。设计上坚持三个原则:白盒(white-box)生成必须留一份可编辑乐谱;零样本翻唱与对话式改稿共用同一套模型;任何评分、对比、改动都要留下可复现的 artifact。
认可度
截至 2026-09-12,仓库拿到 7,005 star / 801 fork,今日新增 +193 star,登上 GitHub Trending Python 日榜;Apache 2.0 协议,已发布 yue2-v0.1.6 轮子包与 yue2-music.zip Skill 包。WildSongBench 192 个 prompt 的盲评里,YuE2 (best-of-8) SongBench Avg 6.9632,跑赢 Mureka 9 (6.9377)、Suno v5 (6.8721)、Suno v5.5 (6.7150)、Suno v6 (6.5562) 等闭源对手;零样本翻唱任务在 948 首作品上拿到 0.647 CLEWS mAP,刷新开源 SOTA。社区端近期在 Discord (ssAyWMnMzu) 与 Hugging Face (m-a-p/YuE2-3B) 同步讨论度都在涨。
链接
- 仓库:https://github.com/multimodal-art-projection/YuE
- Skill 包路径:
skills/yue2-music/SKILL.md - 模型权重:https://huggingface.co/m-a-p/YuE2-3B
- Demo 站:https://map-yue2.github.io/
原作者
项目归属于 multimodal-art-projection 组织,核心贡献者 a43992899 (119 commits)、hf-lin (24 commits)、Yiming-Liang (4 commits),并伴随 DJStompZone、Skrill2001、yongyizang 等社区贡献。组织 2023 年成立,目前共有 30 个公开仓库,362 个 follower,长期做开放音频/音乐生成方向的 foundation model 与跨学科实验。
介绍
YuE2 不是传统意义上的”唱一句返一段”模型。它背后是一个 AR-NAR Mixture-of-Transformers 骨架,先自回归地预测乐谱 token 和语义 token,再用 flow matching 生成声学 latent,最后 VAE 解码为立体声。这意味着同一份模型权重,可以走三条互不冲突的路径:从零生成(Create)、翻唱源曲(Cover)、让 agent 对话式编辑乐谱(Edit)。
README 给出的官方 demo 把《The Last Train》从普通话流行一路改成英语爵士,新增和声并加了段萨克斯独奏,全程 9 步 14 个版本,每个版本都把对话、乐谱、prompt、歌词一并留出来。这种”白盒 + 对话”的双重透明是它能在社媒与社区同时爆的根本原因——它让”人也好,agent 也好,都能听懂这首歌到底在唱什么”成为现实。
特点
- 可编辑乐谱优先:所有非
cot="off"生成都会留下一份 ABC 乐谱 + semantic tokens + latent + 生成参数,方便后续修改、二次翻唱或回归对比。 - 三档 CoT 模式:
cot="full"走完整旋律-和弦计划(默认原创歌曲);cot="melody"只锁旋律、和弦放手(推荐用于翻唱);cot="off"跳过谱面、直接出歌(速度优先,质量降一档)。 - 统一模型做三件事:从零创作、零样本翻唱、对话式编辑全部走
m-a-p/YuE2-3B同款权重,不依赖外部 codec,不需要 MERT 特征作为 token 输入。 - 配套 Skill 包:仓库内置
skills/yue2-music/,含 SKILL.md、可执行脚本、prompt.json 模板、reproduction 引用,agent 能直接拿来按规则跑流程。 - 基准可复现:WildSongBench 协议、YuE2-Vae-legacy decoder、CLI
--resume都写进了文档,第三方对照评估门槛极低。
使用方法
环境要求:Linux · Python 3.12 · BF16 NVIDIA GPU · 24 GB VRAM,权重首次运行从 HuggingFace 拉取。
git clone https://github.com/multimodal-art-projection/YuE.git
cd YuE
python3.12 -m venv .venv && source .venv/bin/activate
pip install -U pip && pip install .
# 跑一遍官方示例,输出 outputs/first-song/audio.flac
python examples/generate.py --output outputs/first-song
# Skill 包集成:把 skills/yue2-music/ 整个目录放进 agent 的 skills 路径
# 然后告诉 agent:
# "Use the yue2-music skill to create an English piano-pop song."
Python API 同样短小:
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")
翻唱链路要用到 SheetSage2(独立 venv,MERT2 编码器会自动加载),流程是 audio → SheetSage2 → ABC → 去和弦 → YuE2 melody。
使用场景与人群
- 独立音乐人 / 编曲师:想要一个不会把原曲当黑盒、能让自己改旋律改和声的本地生成底座。
- 音乐教学与乐理课堂:把 prompt 改一个风格词、让模型出谱,学生就能直接对照五线谱学 chord progression 与 form。
- 游戏 / 影视配乐前置:需要可批量、可分支、可回退的 BGM demo,用 ABC + latent 就能归档 A/B 版本。
- Agent / AI 工作流集成方:手上有 Codex、Claude Code 这类 coding agent,希望它们按可审计流程批量生产主题曲或 demo。
输入与输出案例
Input(来自 skills/yue2-music/assets/prompt.json,结构与 README 给的最小请求一致):
{
"id": "city_lights",
"style": "English, warm piano pop, expressive female voice, acoustic piano, rounded bass and light drums, lyrical memorable melody, unhurried phrasing, 88 BPM",
"lyrics": "[Verse]nNeon fades along the lanenFootsteps keep the time of rainn...",
"cot": "full",
"seed": 831001
}
Output(按 cot="full" 走完整流程,最终落盘的文件结构):
outputs/city_lights/
├── audio.flac # 48 kHz 立体声,VAE 解码输出
├── score.abc # 可读可改的旋律-和弦乐谱(后续编辑/翻唱的入口)
├── request.json # 完整请求快照,便于复现
├── result.json # 模式、采样、时长、truncation 等元数据
├── tokens.json # 语义 token 序列
├── latent.npy # 声学 latent,便于二次解码或 A/B 对比
└── gen_settings.json # CFG / sampler / decoder 选择记录
如果走对话式编辑路径,下一轮请求只需把 score.abc 拷贝为 edited.abc、再交给 agent 改和声/配器/节奏/歌词,再以 --abc-file edited.abc --cot full 重跑,就能拿到一份带修改痕迹的新立体声成品,全程不留黑盒。
评论区
登录后可评论。