ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

YuE2 白盒音乐生成指南:用 ABC 乐谱编辑 AI 生成的歌曲,改和弦、换歌词、变速度全都能做到

YuE2 白盒音乐生成指南:用 ABC 乐谱编辑 AI 生成的歌曲,改和弦、换歌词、变速度全都能做到 YuE2 白盒音乐生成指南用 ABC 乐谱编辑 AI 生成的歌曲改和弦、换歌词、变速度全都能做到【免费下载链接】YuEYuE2: frontier music generation with symbolic planning, zero-shot covers, and agentic music editing.项目地址: https://gitcode.com/GitHub_Trending/yue/YuEAI 生成的歌想单独改一个和弦却做不到YuE2 把这个问题解决了它属于 YuE2 白盒音乐生成路线先输出一份人读的 ABC 乐谱你把乐谱改好再让它渲染成完整歌曲。本文带你走通导出乐谱、修改、校验、重新渲染、对比试听的完整闭环学会和声重配、改词、变速这四类最常用编辑以及怎么给 Agent 派活。一、从黑盒到白盒YuE2 为什么把编辑权交给乐谱传统 AI 音乐生成像点外卖说需求等成品不满意只能整单重做。YuE2 换了思路——先写曲谱再上台演奏。你给它歌词和风格描述它不直接出声而是先写一份创作计划旋律、和弦、节拍、段落结构全部落在一份 ABC 乐谱文件里。ABC 是一种纯文本记谱法一个.abc文件就是整首曲子的工程稿。这份乐谱就是编辑入口。改哪里、怎么改你说了算换一组和弦、改一句歌词、把速度从 80 提到 100。改完后交给同一个生成器它按新乐谱渲染出一首完整歌曲。乐谱相当于一个可编辑的中间产物创作意图从此透明可查。⚠️ 这里有一句必须记住的边界编辑渲染的是一首全新的完整录音不是对原音频的局部修补。改和弦时别期待其余部分的音色和波形与原版逐字节一致这一点官方文档 docs/editing.md 明确说明。二、三分钟上手拿到一份可编辑乐谱在仓库根目录执行需先pip install .环境要求 Linux、Python 3.12、24 GB 显存的 NVIDIA GPUpython skills/yue2-music/scripts/run_yue2.py plan \ --request examples/song.json --output outputs/plan这条命令只做写谱不做演奏跑完outputs/plan/里会留下一组产物score.abc本次创作计划的可编辑乐谱这就是你要改的文件plan.json与abc_tokens.npy乐谱的 token 化表示重渲染时可作为条件输入request.json与provenance.json当时的请求内容和模型权重指纹方便日后复现。把score.abc复制一份出来改例如存成edited.abc原目录保持原样作为基线。仓库还备好了现成例子examples/ 里的score.abc与score-jazz.abc只换了和弦写法是学习和声编辑的最小实验场。三、核心工作流四步安全完成一次编辑改谱最怕改着改着跑偏了。下面每一步都给出做什么、为什么、怎么验证。1. 修改只动你打算动的东西复制出的乐谱就是草稿纸。用任意文本编辑器改音符、和弦符号、速度字段Q:1/488其中 88 是 BPM。为什么强调复制基线版必须原封不动保留后面全靠它做对比。2. 校验用 abc_tools.py 当安全网改完别急着渲染先跑仓库自带的校验脚本 skills/yue2-music/scripts/abc_tools.pypython skills/yue2-music/scripts/abc_tools.py inspect edited.abc python skills/yue2-music/scripts/abc_tools.py compare outputs/plan/score.abc edited.abcinspect检查这份乐谱是否符合 YuE2 的原生 ABC 方言并导出精确的音符事件报告compare则像乐谱 diff一样逐音符比对两份文件告诉你旋律、时值、节拍、速度到底动了没有。注意它故意不比较和声——和声变了、旋律没变正是和声重配想要的结果比对通过说明没误伤。3. 渲染把新乐谱交回生成器--abc-file参数会把乐谱内容写入请求的abc字段--cot full表示走旋律和弦的完整计划通道--output指向一个从未存在过的新目录。脚本对已有目录直接报错从机制上保证每个版本各占一个独立产物目录。渲染产物在outputs/edited/下音频是audio.flac旁边还存着乐谱、token、隐变量等全套档案。4. 试听耳朵是最终裁判把outputs/plan与outputs/edited里的audio.flac并排听。重点听改动的小节和它们的过渡段确认新和弦真的被唱出来了。仓库里的 skills/yue2-music/scripts/listen.py 可以生成一个本地 HTML 对比播放器多版本 A/B 切换很方便。四、最常见的四类改动1. 和声重配只换底色不动主旋律把Vocal声部里的引号和弦符号如C改成Cmaj7逐个替换旋律音符一个不碰。验证要点compare应报告match: true即旋律、时值、节拍、速度完全未变而和声差异被有意放行。2. 改歌词按音节对齐而不是逐字翻译新歌词要贴合旋律的分句和音节数删段、复制、重排段落时乐谱与歌词段落必须同步更新。验证要点逐段核对行数、音节数、小节数三者对得上并留一份对齐记录因为 YuE2 没有强制的音素对齐通道。3. 改速度与风格两处同步缺一不可提速改乐谱里的Q:1/4数值换风格改请求 JSON 里的style字段乐器、人声、目标 BPM两处要同步。验证要点若音符、时值、节拍都没动只动了速度compare要加--allow-tempo-change才会通过改完后务必试听速度变化的实际听感以耳朵为准。4. 改曲式动结构前先数清楚删一段副歌、加一个桥段都要同时维护乐谱和歌词两侧的段落% verse、% chorus这类结构注释与小节分组要保持对应。验证要点改完用inspect重新导出事件报告核对总小节数和段落顺序是否符合预期。五、必须记住的坑⚠️工具拒绝 ≠ 音乐错误。abc_tools.py只认一个有界的原生 ABC 方言比如C:maj这类写法不在和弦词表里它报错可能只是记谱方式要转换别当成曲子有问题。方言细则以 skills/yue2-music/references/abc-editing.md 为准。乐谱校验通过 ≠ 声音一定好。校验只声明符号层结构合法音质、截断、生成是否成功都必须人工试听输出里的truncated字段非空就说明内容被截断不能当成品。给 Agent 的编辑简报必须有边界。写明哪些是不变量编辑前约定不许变的那组条件旋律音符、时值、小节边界、段落顺序、速度里哪些锁死歌词和风格动还是不动。只丢一句make this jazzy会让 Agent 自由发挥到你无法验收。每个版本用全新输出目录。generate.py和run_yue2.py都会拒绝已存在的目录这是特性不是 bug原版与每版改稿各留一套完整产物对比才可信。melody模式不自动去掉和弦。想走翻唱通道时先用abc_tools.py strip-chords把和弦符号清掉否则run_yue2.py的预检会直接拒绝请求。种子相同不等于输出相同。固定seed便于对比但跨设备、跨软件版本不保证逐帧一致复现实验时用--revision固定模型快照。六、常见问题 FAQQ我只想改一个和弦其他部分会跟着变吗符号层面不会compare可以证明旋律、时值、节拍、速度原封未动。但渲染出来的是一首新录音改和弦之外的演唱细节、音色可能与原版有出入这正是白盒生成和局部修补的区别最终以试听为准。Q没有 GPU 能做什么能完成全部符号层工作inspect和compare是纯标准库脚本不加载任何模型校验乐谱、比对两份乐谱、清和弦都不需要显卡。只有最终渲染那一步需要 24 GB 显存的 NVIDIA GPU。Q能不能把编辑委托给 Agent 自动完成能。支持SKILL.md包的 Agent 加载 skills/yue2-music/SKILL.md 后就具备生成、检查、渲染、对比听力的完整编排能力。它只在你现有 API 之间做调度不需要额外模型你要负责的是提供带边界的编辑简报并亲自做不变量验收。Q为什么我改完的速度比对失败了compare默认要求 BPM 一致只改速度时加上--allow-tempo-change参数即可通过若你不想放开速度说明修改过程中 BPM 字段被误动了应回查乐谱。收尾至此闭环齐了plan导出可编辑乐谱inspect/compare把关不变量generate --abc-file渲染新版本耳朵完成最终验收。下一步建议通读 docs/editing.md 的官方编辑文档再拿 examples/ 里的score.abc和score-jazz.abc亲手跑一遍和声重配十分钟就能建立起全部手感。【免费下载链接】YuEYuE2: frontier music generation with symbolic planning, zero-shot covers, and agentic music editing.项目地址: https://gitcode.com/GitHub_Trending/yue/YuE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表