YuE2 音乐技能实战指南:从符号化生成、零样本翻唱到智能体乐谱编辑的完整工作流

发布时间:2026/9/19 8:06:39
YuE2 音乐技能实战指南:从符号化生成、零样本翻唱到智能体乐谱编辑的完整工作流 YuE2 音乐技能实战指南从符号化生成、零样本翻唱到智能体乐谱编辑的完整工作流【免费下载链接】YuEYuE2: frontier music generation with symbolic planning, zero-shot covers, and agentic music editing.项目地址: https://gitcode.com/GitHub_Trending/yue/YuE本篇技术指南围绕开源仓库 YuE2展开系统讲解如何把一段音乐请求变成可复现的歌曲 可听见的对比结果涵盖 YuE2 的三种符号规划模式full/melody/off、SheetSage2 音频转 ABC 的翻唱链路、基于 ABC 乐谱的智能体编辑与再和声以及可复现的听音评估流程。读完本文你将掌握从环境搭建、请求构造、谱面校验、智能体委派到本地听音对比页生成的完整实战能力。一、选择工作流五种路线一张表YuE2 的技能层把用户请求映射为明确的工作流核心决策变量是cotchain-of-thought / 符号规划模式与是否有 ABC 乐谱输入请求工作流生成可编辑旋律与和声的歌曲YuE2cotfull→ ABC → 歌曲按旋律规划生成、伴奏自由发挥YuE2cotmelody→ 无和弦 ABC → 歌曲不做符号规划直接生成YuE2cotoff→ 歌曲无可编辑 ABC翻唱一段录音SheetSage2 → 检查/修正 ABC → 去掉和弦 → YuE2melody翻唱一段 ABC 旋律检查/转换原生 ABC → 去掉和弦 → YuE2melody修改和声、乐器、速度、结构或歌词复制完整计划 → 编辑 ABC/歌词 → 重新生成智能体编辑导出计划/基线 → 受限编辑智能体 → 检查不变量 → 渲染 → 对比分析音乐特征仅在需要连续特征时使用 MERT2对应到模型的完整数据流audio → SheetSage2 [自动加载 MERT-v2-FullSong] → ABC style lyrics → YuE2 full/melody 规划 → ABC edit/validate style lyrics ABC → YuE2 语义生成 → synthesis → latents → VAE → 歌曲 style lyrics → YuE2 off 生成 → synthesis → latents → VAE → 歌曲两个重要边界技能层明确警告不要把公开的 MERT 特征张量当作 codec token 喂给 YuE2。YuE2 不暴露 audio-reference、phoneme-alignment 或 local-inpainting 参数MERT 是双向编码器、输出连续特征而 YuE2 内部用的是因果离散语义 token两者不是一回事详见 models-and-setup.md。技能层保留原始歌曲及其计划是修改前的第一原则改动前必须先有可回退的原始产物。二、模型搭建五个模型、两个环境、一个基线技能依赖的模型矩阵均来自公共模型仓库需自行记录 revision 与权重哈希模型分发 ID在本技能中的角色YuE2-3Bm-a-p/YuE2-3B风格歌词 → 可选符号计划 → 语义 token → 声学 latent负责生成与编辑后的再生成YuE2-Vaem-a-p/YuE2-Vae默认听音解码器声学 latent → 立体声音频YuE2-Vae-legacym-a-p/YuE2-Vae-legacy基准评测解码器复现既定评测协议时用它解码同一份 latentSheetSage2m-a-p/SheetSage2音频 → 旋律、和弦、节拍、调性、结构、ABC、MIDIMERT-v2-FullSongm-a-p/MERT-v2-FullSongSheetSage2 自动加载的编码器父模型也可独立用于连续音乐特征MERT-v2-30sm-a-p/MERT-v2-30s可选短录音连续特征提取器非生成/翻唱/编辑必需环境必须分开这些版本各自固定了不同的 PyTorch、Transformers、NumPy 版本YuE2 运行时锁定 PyTorch 2.10.0、Transformers 4.57.6、NumPy 2.2.6SheetSage2 的 requirements 锁定 Transformers 4.45.2、NumPy 1.24.3请使用独立虚拟环境以音频/ABC/MIDI 文件交换数据共享一个 Hugging Face 缓存没有问题且各阶段要顺序执行以释放 GPU 显存。YuE2 环境官方 release 卡片面向 Linux、Python 3.10、24 GB BF16 显卡python3.12 -m venv .venv-yue2 .venv-yue2/bin/python -m pip install \ githttps://github.com/multimodal-art-projection/YuE.git也可从克隆的官方 YuE 仓库安装.venv-yue2/bin/python -m pip install /path/to/YuE。技能层特别提醒不要从 PyPI 安装名称相似、未经核验的替代包。技能自身说明、辅助脚本与模板以 Apache 2.0 授权模型权重与第三方依赖各自保留其适用许可模型权重为CC BY-NC 4.0非商业条款不因技能授权而免除。SheetSage2 环境无pip install sheetsage2发行版下载快照后经 Transformers 加载需 Python 3.10/3.11模型卡片要求 FFmpeg 6.1python3.11 -m venv .venv-sheetsage2 .venv-sheetsage2/bin/python -m pip install huggingface-hub0.36.0 .venv-sheetsage2/bin/huggingface-cli download m-a-p/SheetSage2 \ --local-dir models/SheetSage2 .venv-sheetsage2/bin/python -m pip install \ torch2.8.0 torchaudio2.8.0 \ --index-url https://download.pytorch.org/whl/cu126 .venv-sheetsage2/bin/python -m pip install \ -r models/SheetSage2/requirements.txt加载适配器快照时会自动获取 config 选定的 MERT-v2-FullSong 父模型并做校验、以 FP32 合并适配器trust_remote_codeTrue会执行模型仓库的 Python 实现务必使用已评审的 revision 并记录。受支持的基线一次一个请求、支持 BF16 的 24 GB 显存 NVIDIA GPU、YuE2 默认设置。不要为了掩盖 OOM 而悄悄缩短歌曲或降低推理设置应释放显存或更换合适硬件并报告变更。YuE2-Vae用于听音、YuE2-Vae-legacy用于复现基准评测协议两者产物分开存放也不要从 legacy 一词推断其角色。三、生成并保留计划请求 JSON、CLI 与三种模式从原始示例 assets/prompt.json 出发。请求对象的关键字段style体裁、乐器、人声特质、语言与目标速度、lyrics段落标签 实际歌词词句、cot、seed可选abc/abc_path/cfg_scale/id。实现备注不要写进 lyrics。tags是style的别名两者同时给出时必须一致。YuE2 请求没有reference_audio、phonemes、bpm、negative_prompt、编辑区间或参考歌手字段——速度与拍号放在 ABC 里并在 style 中一致描述。示例请求assets/prompt.json{ 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 lane\n...\n[Chorus]\nLet the day come into view\n..., cot: full, seed: 831001 }技能辅助脚本 scripts/run_yue2.py 提供四个动作generate/all-modes/plan/decode支持--model、--vae、--revision、--vae-revision、--offline本地模型目录 离线、--device默认 cuda、--memory-budget-gib默认 24python scripts/run_yue2.py generate --request assets/prompt.json --output outputs/pop python scripts/run_yue2.py all-modes --request assets/prompt.json --output outputs/modes python scripts/run_yue2.py plan --request assets/prompt.json --output outputs/plan脚本会在生成前做廉价预检run_yue2.py 的request_data只接受上述白名单字段abc/abc_path/--abc-file三者只能取一off模式必须无 ABCmelody模式若输入 ABC 仍含和弦会直接报错并提示先strip-chordsall-modes要求纯文本输入off不接受 ABCplan不接受cotoff。每次运行还会写出invocation.json动作、加载器、yue2-infer包版本、请求列表并拒绝覆盖已有输出目录fresh_directory在 common.py 中实现。产出后需检查result.json、截断标志、score.abc、request.json与音频。辅助脚本保存原生产物精确 token、latent.npy并自动运行abc_check.json结构校验。statuscomplete不代表歌曲未截断——要分别检查 ABC 与语义截断标志再听时长、结尾、可听性与请求的音乐行为。成功的进程或可播放文件本身不证明音乐质量所有请求的模式与失败都要保留。官方yue2-infer0.1.6 CLI 等价命令--model/--vae传本地快照并加--offlineHub 快照加--revision/--vae-revision输出嵌套在--output/request-id/yue2 generate --request requests/original.json --cot full --output outputs/full yue2 generate --request requests/original.json --cot melody --output outputs/melody yue2 generate --request requests/original.json --cot off --output outputs/off yue2 generate --request requests/original.json --stage plan --output outputs/plan yue2 generate --request requests/jazz.json --cot full --abc-file edits/jazz.abc --output outputs/edited yue2 batch --input requests/all.jsonl --output outputs/batch注意--resume只校验并复用已完成的匹配结果含哈希不会续跑中断的 AR/NAR 生成中断或不完整运行后请换全新目录。3.1 按阶段保留精确产物技能层支持把生成拆成三个显式阶段用于不改音乐、只换解码器的场景from yue2 import SymbolicPlan plan SymbolicPlan.load(outputs/original_plan) with YuE2Pipeline.from_pretrained( model, vaelistening_vae, devicecuda, local_files_onlyTrue, ) as pipe: semantic pipe.generate_semantic(plan) latents pipe.synthesize(semantic) audio pipe.decode(latents)SymbolicPlan.load会校验已保存的 manifest 与 token 数组直接改动已保存计划内的文件会故意让校验失败——修订后的 ABC 必须通过新请求提交。不存在SemanticResult.load/SongResult.load或通用自动部分续跑方法编辑风格、歌词或 ABC 必须重新做语义生成与合成缓存的 latent 只在更换解码器时可复用generation-and-covers.md。3.2 CFG、默认值与评测边界语义 CFG 默认full/melody为 1.0、off为 1.01显式实验可传cfg_scale1.2CLI--cfg-scale 1.2但不是质量提升的保证。标准预设BF16 AR/NAR、FP32 VAE、32 步中点合成、上下文 24576——为可复现对比请保留此预设。基准复现需要独立的评分代码与资产SongBench 分数、ASR/PER、谱面校验与听音回答的是不同问题报告实际执行的检查保留失败、截断标志与每种请求模式任何单一证据都不能证明音频中精确的音符或音素落实。四、翻唱一段录音SheetSage2 转写 → 去和弦 → YuE2 melody翻唱链路的四步详见 generation-and-covers.md在 SheetSage2 环境中转写。选择人声旋律或包含器乐段落的完整主旋律--task melody-full保留Vocal与Ins两条旋律--task melody-vocal只选人声旋律任务。检查警告并修正漏音、拍号或调性错误——在把错误归因于 YuE2 之前。保留源音频与原始转写。导出无和弦 ABC。丢弃声部时要显式选择保留的声部仅去和弦应同时保留两条旋律声部及其休止。以cotmelody、目标风格与合适歌词渲染。这提供的是符号化旋律条件不保留源歌手身份或波形。技能辅助脚本的完整命令序列# SheetSage2 环境。 python scripts/transcribe.py reference.wav --task melody-full --output outputs/transcription python scripts/abc_tools.py strip-chords outputs/transcription/score.abc outputs/cover.abc # YuE2 环境请求提供目标风格与歌词。 python scripts/run_yue2.py generate --request assets/prompt.json --cot melody \ --abc-file outputs/cover.abc --output outputs/cover-songcotmelody不会自动移除输入文件中的和弦符号。要同时保留原曲和声请用完整转写 cotfull称为带旋律与和声的谱面条件再生。4.1 转写 API 与 melody_only 导出SheetSage2 的 Transformers 接口本地快照from transformers import AutoModel import torch device cuda if torch.cuda.is_available() else cpu model AutoModel.from_pretrained( models/SheetSage2, trust_remote_codeTrue, ).eval().to(device) result model.transcribe( source.wav, output_dirruns/source-score, dtypebf16 if device cuda else fp32, ) if result.get(abc_error) or not result.get(abc): raise RuntimeError(fNo usable ABC: {result.get(abc_error)}) print(result[warnings])可调接口要点presetdefault或paper复现评测协议时用后者固定 overlap100s、lookahead0默认 300 秒窗口、200 秒重叠、100 秒 lookaheadmax_seconds是主动裁剪输入而非仅限内存melody_onlyTrue导出无和弦 ABC 与无和弦伴奏 MIDI只改导出、不改推理原始和弦事件与 LAB 标注在包含和弦任务时仍可用最少接受 1,025 个有限采样点输入数组需[samples]或[channels, samples]形状并显式给出sampling_rate。任务名不是自由提示词chord_full与chord_majmin互斥melody_full与melody_vocal互斥带时间导出需要timestamp可用的 ABC 还需要解码出的节拍与调性信息。每轮转写后检查warnings、diagnostics、abc_error与乐谱——转写即使记谱合法也可能存在音乐错误。输出包括score.abc、transcription.mid、melody*.mid、chords.mid、events.json、beat/downbeat/key/chord/structure/melody的.lab标注、tokens.json等。CLI 等价命令官方模型库的infer.py.venv-sheetsage2/bin/python models/SheetSage2/infer.py song.mp3 --output cover-score --melody-only。若无法构建 melody-only ABCPython 会抛出RuntimeError并把已完成转写挂在error.result上CLI 以非零码退出——不要仅凭保存的标注就当作翻唱乐谱成功。五、编辑或委派编辑从基线、不变量到再和声编辑前必读 editing-workflows.md 与 abc-editing.md。核心前提编辑是保留源版本的新音乐版本。YuE2 从修订后的乐谱、风格与歌词重新生成音频不暴露波形 inpainting也不保证编辑小节之外的表演不变。5.1 先有可听基线再定不变量契约用完整计划渲染原始歌曲后再编辑冻结其原始目录保留精确请求、计划 token、ABC、语义 token、声学 latent 与解码器身份。委派前先定义保留旋律的含义契约必须保持不变的内容精确旋律与节奏指定声部/段落内的实际发音音高、起音与时值相同音高、修订节奏有序的实际发音音高记录允许的节奏与发音变化可辨识主题完整乐句序列与指定重复列出允许的装饰边界内自由改编商定的乐句、音域、轮廓、终止或动机报告实际改动的音符说明速度、拍号、歌词与器乐段落是否可变。速度改变保留拍相对节奏但改变秒数时间仅改和弦的编辑可以增加连音 token 而不增加任何发音音符。要比较解释后的事件而不是文本相似度。5.2 委派受限音乐任务使用 assets/edit-brief.md 作为编辑智能体的任务书给出未修改的 ABC、精确风格/歌词与基线音频若可听音、请求变更与指名声部/段落/允许差异的契约、原生记谱限制与所需输出目录。要求返回完整编辑谱含未触及段落、修订后的请求、编辑清单源哈希、变更小节/节拍范围、和弦边界、音符/节奏/歌词变更、保留的不变量与简短音乐理由。清单要区分记谱工作与实际生成或听到的音频。评审要用独立的 reviewer先给原始前后 ABC、请求、用户约束与可用音频让其在看到编辑者的诊断之前独立指出违规与音乐问题不得引导式提问问题就是和弦 X。若没有委派机制就自己显式完成编辑与评审两个环节不要发明一个不存在的 agent 调用。CPU 谱面评审可与其他工作并行但每个 YuE2 pipeline 内模型生成保持顺序。编辑谱必须显式连接CLI 传--abc-file edits/jazz.abc或请求 JSON 里写abc_path: edited.abchelper/CLI 便捷字段Python API 接收 ABC 文本请求同时省略两者且abc: null时会生成新计划而丢弃你的编辑。5.3 原生 ABC 方言格式、时值表与事件语义技能自带的 abc_tools.py 是仅用标准库实现的、面向受限双声部原生 ABC 方言的结构/精确符号旋律检查器——不是完整 ABC 标准解析器不强制生成器跟随乐谱也不度量感知和声。典型头部X:1 T: M:4/4 L:1/32 Q:1/488 V: Vocal cleftreble nameVocal Melody snmVocal V: Ins cleftreble nameIns Melody snmInst. K:G % verse V: Vocal Gmaj7B8d8Am7c8A8|D7F16GG16| V: Ins Z2|要点两个声部都是单音旋律线Ins可承载器乐主题/独奏而非钢琴和弦谱表和声用Vocal中的引号和弦符号表示即使该声部休止也保留。原生导出按 14 小节分组% verse/% chorus等注释标记结构拍号或调性变化开启新组两个声部的M:/K:需一致。L:1/32常见但非普遍请保留导出的L:值解析器接受L:1/2 的幂至 1/1024、显式分数拍号、标准大小调与正整数四分音符速度。以L:1/32为例的时值语义4/4 一小节共 32 单位3/4 与 6/8 各 243/8 为 12记谱含义C/C2/C8C4 三十二分 / 十六分 / 四分音符c、c、C,C5、C6、C3z8四分休止Z、Z2、Z3、Z4当前拍号下 1/2/3/4 个整小节休止C8-C8一个二分音符 C第二个 token 不重新起音Am7z16Am7 和弦在此开始旋律休止半音符^F、_B、F、^^F、__B升、降、还原、重升、重降支持的时值倍数为1,2,3,4,6,8,12,16,24,32,4810 单位写作C8-C2或z8z2。和声在长音中改变时应拆开并以连线连接CE16-Am7E16否则第二个 E 是新起音。休止不能连线、连线必须连接相同的发音音高、乐谱不能以未解决连线结尾。音高相对当前调号K:D中未标F发 F♯。临时记号在小节内有效、小节边界或调性变化处重置原生导出/渲染约定按字母跨八度传播临时记号^F后本小节内F与f都升与某些通用 ABC 实现不同不要静默替换解析器。连音未标记的延续保留前音音高统计发音音符要按合并连线后的音符数仅改和弦的编辑可以增加连线 token 而不增加旋律音符而C8-C8改成C8C8会改变发音articulation。解析器对不支持材料拒绝而非猜测三连音、装饰音、多音堆叠、反复记号、替代结尾、连线slur、断奏、歌词w:字段、自定义声部/指令等都会报错——拒绝只代表超出本助手范围不代表该谱在完整 ABC 标准下无效。5.4 谱面检查命令inspect / strip-chords / comparepython scripts/abc_tools.py inspect source.abc --output source-inspection.json python scripts/abc_tools.py strip-chords source.abc cover.abc python scripts/abc_tools.py compare source.abc cover.abcinspect输出精确四分音符分数、MIDI 音高、合并后音符时值、逐声部小节网格、和弦起始、调性变化与名义时长JSON 中notes是[onset_quarters, midi_pitch, duration_quarters]三元组列表。strip-chords校验输入与输出只移除音乐行中的受支持引号和弦符号验证所有发音音符、起始、时值、拍号与速度不变保留头部引号声部名拒绝覆盖已有输出默认保留两条旋律。只保一个声部时显式选择python scripts/abc_tools.py strip-chords source.abc vocal-cover.abc --keep-voice Vocal python scripts/abc_tools.py compare source.abc vocal-cover.abc --voices Vocal未选声部替换为同时间网格的休止双声部格式保持不变不要因为任务是翻唱就丢弃Ins。compare精确比较发音音符与拍号网格默认要求相同四分音符速度故意改变节奏/旋律时比较会失败——应审查报告中允许的差异而不是把失败结果改标为旋律已保留。有意改变速度加--allow-tempo-change。compare的返回结构abc_tools.pymatch、compared_voices、tempo_change_allowed、differences逐声部给出首个差异音符序号scope 声明只覆盖精确符号旋律与拍号。5.5 再和声与选择性旋律编辑原生引号和弦词表abc-editing.mdmajor无后缀, m, dim, aug, 7, maj7, m7, dim7, m7b5, sus4, sus2, 6, m6, 7sus4, m(maj7)根音与可选斜杠低音用音名Dbaug、F#m7/C#、Gm6/Bb、A7/E支持必要拼写下的重升重降。C:maj、数字斜杠级数、C13、A7alt、Cmaj9与任意注解不是原生和弦符号——不要发明语法去要求高级和声用受支持的和弦核心把更丰富的织体请求放进 style 提示词提示词中的织体是生成请求而非保证。针对每个持续或强拍旋律音检查该音符期间活跃的和弦、其持续时长与解决去向同时检查演唱旋律与器乐独奏短经过音可以支撑持续两拍会刺耳的张弛。案例持续 A 对Db7的降五度冲突时Dbaug保留半音低音且包含 A持续 F♯ 对Eb7的大小三度冲突可用Ebm7保留 E♭ 低音并直接支撑该音三全音替代宜作短经过并提前解决。这些是音乐选项而非无条件替换规则改完一个和弦的三音/五音后要复查周围进行。编辑后的完整流程python scripts/abc_tools.py inspect edited.abc --output edited-inspection.json python scripts/abc_tools.py compare source.abc edited.abc --output melody-invariants.json python scripts/abc_tools.py compare source.abc edited.abc --allow-tempo-change python scripts/run_yue2.py generate --request edits/jazz.json --cot full \ --abc-file edits/jazz.abc --output outputs/jazzediting-workflows.md 还给出了一个完整的 pop→jazz 改编任务书示例完整《小星星》主题陈述两次 次中音萨克斯独奏六乐句级数旋律为1 1 5 5 6 6 5 / 4 4 3 3 2 2 1 / 5 5 4 4 3 3 2 / 5 5 4 4 3 3 2 / 1 1 5 5 6 6 5 / 4 4 3 3 2 2 1即每次陈述42 个发音音符、两次共 84 个按活动调转调D 大调开场为 D–D–A–A–B–B–A不要照抄绝对音高。器乐主题/独奏放进原生Ins旋律声部并在Vocal放适当休止和声符号保留在和声承载声部即使人声休止。[saxophone solo]这类歌词标签与风格描述只是传达意图不是采样级调度 API。5.6 歌词改编音节、重音与发音旁车生成 API 只接受歌词与 ABC没有强制的音素-音符对齐通道。换语言时按可唱性改编而非逐字翻译从最终人声事件网格含弱起、连线、休止、花腔出发检查音节数、词汇重音、短音符上的辅音密度、长音上的元音舒适度与换气空间仅音节总数匹配是不够的。英文歌词改动即便音节数相同也常需调整重音与元音时值。保留发音旁车sidecarJSON明确 note-index 约定、发音来源与人工选择{ voice: Vocal, note_index_base: 0, word: light, syllable: light, phonemes: [L, AY1, T], stress: 1, note_indices: [20, 21], articulation: Attack L once; sustain AY across both notes; release T at the end }这表示设计的对齐意图不是实测转写也不是 YuE2 输入字段。不要发明phonemes字段也不要把旁车当作硬性声学对齐ASR/PER 与听音是独立证据。5.7 渲染、对比与迭代在推理前完成结构检查与所要求的音符对比。保留原谱与每次尝试的修订版契约允许节奏/旋律变化时审查显式差异而非把失败的精确对比标为已保留。变更后渲染到新请求、新输出目录听完整歌曲以及从编辑段之前开始、之后结束的片段检查主题进入、第二次完整陈述、独奏发展、回到人声与英文发音。固定种子对比是有用的溯源而非可控声学变化的保证。要求的效果在音频中失败就修订重渲染并分别报告符号化验证了什么听音观察到什么仍不确定什么。六、交付可听见的结果听音对比与评测边界阅读 listening-and-evaluation.md。交付物包括可播放音频、完整提示词/歌词、编辑前后 ABC、不变量检查与所请求的评测。乐谱、指标或进程成功退出都不是可听结果。6.1 听音与评测的解码器分离m-a-p/YuE2-Vae用于原生听音预览m-a-p/YuE2-Vae-legacy用于复现基准解码协议完整模型名、revision 与哈希必须记录在案legacy一词不说明分数用了解码器。对给定歌曲只生成一次声学 latent用同一份latent.npy为每个解码器解码音乐或歌词编辑需要新生成仅换解码器则不需要。技能脚本的缓存解码命令python scripts/run_yue2.py decode --source outputs/jazz \ --output outputs/jazz-evaluation \ --model $YUE2_MODEL_DIR --vae $YUE2_EVAL_VAE_DIR --offline解码脚本run_yue2.py 的decode会校验源目录verify_result、比对--model与源生成权重身份weights[mot]必须一致、生成source_generation.json源 result/latent/semantic 哈希并在结束时确认 latent 未变。不要把旧 manifest 复制到新音频上也不要把听音解码器身份留在评测音频上。6.2 构建听音对比页python scripts/listen.py outputs/pop outputs/jazz --output outputs/comparisonlisten.py 创建本地自包含 HTML 听音页复制音频与精确请求、展示模式/种子/解码器版本/原生状态/截断/时长/采样率/结果身份/权重签名/ABC 结构检查等字段对每个 case 做完整性哈希校验并输出manifest.json不上传、不发布。其安全设计值得注意只复制显式白名单元数据request.json、config.json、result.json等、拒绝含凭据类内容或 8 MiB 的 JSON、校验音频容器签名FLAC/RIFF-WAVE、CSP 限制default-src none。若复制产物与原生收据哈希不符会拒绝给出播放器并标记需审查。每个听音条目应标明版本与意图变更、完整风格提示词、完整歌词、源/编辑 ABC、实际模型与解码器身份、种子、模式与参数覆盖、时长、截断标志、结构/不变量检查与变更记录、片段起止时间与是否归一化。保留无损生成音频MP3 只是交付转换听音页转换是交付产物冻结评测适配器有自己的预处理。长编辑要包含编辑段之前的起始与之后的退场几个孤立音符会掩盖过渡问题。6.3 证据分层每种检查支撑什么、不支撑什么检查支撑的结论不支撑的结论原生 ABC 检查结构合法、时间网格与受支持符号和声动听或音频可听层面落实发音音符对比指定符号音高/起音/时值被保留生成表演或波形一致SheetSage2 转写生成音频实现音乐事件的诊断性估计无误差的真值ASR 与音素错误率该协议下识别的歌词/音素一致性实测的音节-音符同步音频强制对齐估计的词/音素时间若已检查完美旋律或编曲质量SongBench 等指标记录评测器下的具名指标特定乐器、爵士真实性或普适质量听音报告的可听观察自动基准结果或未执行的偏好研究不要仅凭 ABC 检查或 SongBench 分数就声称精确音符实现、乐器移除或采样级保留。技能层还提示公开 YuE2 运行时与本技能不包含完整评分代码、评测权重或基准输入也不暴露yue2 eval/bench/verify命令评分资产不可用时交付听音与符号检查并如实报告评测不可用不得用同名指标顶替或编造分数。评测 GPU 需求与 24 GB 生成基线是两回事。6.4 如实报告保留运行前预期的请求清单逐模式记录成功/失败与失败原因、两个截断标志、解码器身份与每项完成的指标报告样本数与分母保留部分/缺失分数可见不要静默丢弃失败的模式也不要看了分数后再挑有利的种子。SongBench 若报告则保留七个维度Melody、Arrangement、Musicality、Vocal、Instrumental、Mixing、Structure与全局平均并标明版本与解码器不要把全局平均解读为爵士或和声一致性专用分数。已检 PER 协议跑四次 ASR 通过保留转写、选定结果与首轮结果并陈述协议。complete:true只表示所请求指标已产出不表示质量验收通过。最后公开发布听音包前检查脱敏该包会隐藏凭据类元数据、不复制权重与 latent但精确请求、本地模型路径与失败消息仍可能出现在复制的文件中。七、小结技能层的三条主线贯穿 SKILL.md 及其五个参考文档的三条原则可复现一个请求 一组固定产物请求、计划、ABC、精确 token、latent、配置、解码器身份与哈希所有命令都写到全新输出目录且拒绝静默覆盖每个阶段都要求记录包版本、模型 revision 与权重哈希。符号与音频分层ABC 检查回答记谱结构/符号旋律、对比回答指定符号不变量、转写回答实现事件的估计、ASR/PER 回答歌词/音素一致性、听音回答可听观察——各层互不替代交付时分别报告。保留与审计原始歌曲与计划在编辑前冻结智能体编辑要求编辑清单 独立评审 不变量检查失败与截断保留可见。整套工作流不需要额外的agentic 模型 API——智能体编辑发生在规划与再生成之间操作的是导出的乐谱、请求与提示词。技能附带的全部脚本run_yue2.py、transcribe.py、abc_tools.py、listen.py、common.py仅依赖 Python 标准库模型调用除外可直接按文中命令在技能目录下运行仓库中 examples、docs 与 tests 等目录可作为继续深入的入口。【免费下载链接】YuEYuE2: frontier music generation with symbolic planning, zero-shot covers, and agentic music editing.项目地址: https://gitcode.com/GitHub_Trending/yue/YuE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考