ARTICLE DETAIL

资讯详情

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

YuE2-3B 实操指南:从歌词与风格提示生成可编辑乐谱的完整歌曲

YuE2-3B 实操指南:从歌词与风格提示生成可编辑乐谱的完整歌曲 音乐生成大模型人工智能媒体生成【免费下载链接】YuE2-3B项目地址https://ai.gitcode.com/hf_mirrors/m-a-p/YuE2-3B点击查看免费下载YuE2 是一个开源音乐生成模型能够把一段歌词与一个风格提示词style prompt转化为带人声和伴奏的完整歌曲并支持通过可编辑的 ABC 乐谱来塑形旋律与和声。本文基于当前仓库的 README.md、核心推理源码 与示例配置文件完整讲解 YuE2-3B 的本地安装、三种生成模式创建 / Cover / 编辑与 Agentic 编辑、模型架构AR–NAR 混合 Transformer Flow Matching VAE以及推理性能与基准数据帮助你快速跑通并深入理解这一套符号规划 可编辑乐谱的音乐生成方案。关联演示音频本文提及的全部示例音频Cyber Metal、今晚不眠、Passion、Auld Lang Syne Jazz-funk cover、最炫民族风 ballad cover、Jingle Bells heavy metal cover及对应参数元数据均收录于 assets/audio/examples.json。YuE2 的整体架构一个 AR–NAR Mixture-of-Transformers 骨干网络先写出乐谱与语义 token再通过 flow matching 生成声学 latent最后由 VAE 还原为立体声音频。概览YuE2 的核心能力YuE2 是面向歌曲质量的开放音乐生成模型。它的核心流程是给定歌词lyrics与风格提示词style prompt先生成一个符号化的音乐规划symbolic plan即 ABC 乐谱形式的旋律 和弦再依据该规划渲染出带人声与伴奏的完整歌曲。这一符号规划 编辑的设计让用户能够创作与编辑Compose and edit支持旋律 和弦、仅旋律以及无规划直接生成三种模式也支持自己提供 ABC 乐谱作为输入Agent 化编辑Edit with an agent把音乐反馈转成乐谱、风格与歌词的修订再由 YuE2 渲染下一版本官方提供了 9 步 14 个版本的多轮编辑演示本地运行Run locally在 24GB 显存 GPU 上无需量化即可生成 48 kHz 立体声歌曲可扩展构建Build on it支持 Hugging Face 加载、文本引导CFGclassifier-free guidance以及分离的规划 / 合成 APIpipe.plan()→pipe.generate_semantic()→pipe.synthesize()→pipe.decode()。许可证提示模型权重采用 CC BY-NC 4.0见 LICENSE第三方代码许可见 THIRD_PARTY_NOTICES.md其中 VAE 的 Oobleck/SnakeBeta 实现源自 stable-audio-tools 与 NVIDIA BigVGAN均保留 MIT 许可。环境要求与安装官方 Quick start 对运行环境的要求是Linux 操作系统Python 3.10 及以上24GB NVIDIA GPU且支持 BF16bfloat16精度。安装推理包注意需要先固定huggingface-hub0.36.2以兼容hf download命令python -m pip install huggingface-hub0.36.2 hf download m-a-p/YuE2-3B yue2_infer-0.1.5-py3-none-any.whl --local-dir . python -m pip install ./yue2_infer-0.1.5-py3-none-any.whl当前仓库内同时提供了 yue2_infer-0.1.3-py3-none-any.whl 与 yue2_infer-0.1.5-py3-none-any.whl 两个版本的推理包README 以 0.1.5 为准。安装完成后加载一次 Pipeline 即可复用后续示例均基于此pipe对象from pathlib import Path from yue2 import YuE2Pipeline pipe YuE2Pipeline.from_pretrained(m-a-p/YuE2-3B, devicecuda)from_pretrained还支持几个重要参数devicecuda指定推理设备progressFalse关闭生成过程中的英文进度消息包括当前阶段、已用时间与 token 吞吐量命令行对应yue2 generate --quiet/yue2 batch --quietvaem-a-p/YuE2-Vae-legacy切换解码器详见下文VAE 的选择。模式一创作Create——从歌词生成完整歌曲把一段风格提示词和歌词变成一首带人声与伴奏的完整歌曲。仓库在 examples/tonight-awake.json 中提供了演示曲目《今晚不眠》的完整风格与歌词即上文音频演示中的 Mandarin funk / nu-disco 曲目其中style字段包含风格描述、lyrics字段为带章节标记[Intro]/[Verse]/[Pre-Chorus]/[Chorus]/[Bridge]/[Outro]的完整歌词、seed为 12300、cot为 full。import json from huggingface_hub import hf_hub_download repo m-a-p/YuE2-3B prompt_path hf_hub_download(repo, examples/tonight-awake.json) demo json.loads(Path(prompt_path).read_text(encodingutf-8)) style, lyrics demo[style], demo[lyrics] song pipe(stylestyle, lyricslyrics, cotfull, seeddemo[seed]) song.save(song.flac) song.save_artifacts(outputs/song) # ABC, tokens, latents, audio and settingssave_artifacts(outputs/song)会把本次生成的全部中间产物写入目录ABC 乐谱score.abc、token、latent、音频与生成设置这些正是后续编辑流程的数据基础。默认参数已开箱可用cotfull与默认的 YuE2-Vae。常用生成选项如下选项作用cotfull旋律 和弦规划默认cotmelody仅旋律规划Cover 场景推荐cotoff不生成符号规划直接生成cfg_scale1.2尝试更强的文本引导强度从仓库的 yue2_generation_config.json 可以看到各生成阶段的默认采样参数这些参数由推理包读取可作为理解默认行为的参考ABC 乐谱采样temperature0.7、top_p0.9、top_k30、repetition_penalty1.005、penalty_window100、min_tokens32、max_tokens4096——ABC 规划使用较低温度与强重复惩罚保证乐谱结构稳定Semantic语义 token采样temperature1.0、top_p0.95、top_k100、repetition_penalty1.2、penalty_window50、min_tokens200、max_tokens9000——语义 token 使用更高温度与 1.2 的重复惩罚以维持歌声的自然度声学 ODEode_steps32、ode_methodmidpoint——flow matching 使用 32 步中点法求解上下文长度context24576与模型max_position_embeddings一致。模式二Cover——把已有歌曲改编成新编曲Cover 流程从一段已有录音出发生成一个新的编曲版本。官方建议 Cover 使用仅旋律模式cotmelody。整个流程分三步获取乐谱Get the score用 SheetSage2 转录原曲把不含和弦符号的旋律 ABC 保存为melody.abc获取歌词Get the lyrics让 Agent 在线查找歌词或用 Qwen3-ASR / Gemini API 转录人声核对歌词后按录音的段落结构组织保存为cover_lyrics.txt选择目标风格并生成Choose a target style and generate审阅或编辑乐谱与歌词后以cotmelody加目标风格提示词交给 YuE2。转录工具应在各自独立的环境中运行然后用 YuE2 Pipeline 生成cover pipe( styleJazz-funk, warm lead vocal, Rhodes piano, electric bass, tight drums, lyricsPath(cover_lyrics.txt).read_text(encodingutf-8), abcPath(melody.abc).read_text(encodingutf-8), cotmelody, seed831001, ) cover.save(cover.flac) cover.save_artifacts(outputs/cover)注意cotmelody不会自动去除和弦符号。如果你希望在 Cover 时同时提供原始或改编后的和声应使用cotfull。模式三编辑与 Agentic 编辑——修改乐谱后重新渲染编辑模式让你自己修改 ABC 乐谱或者把乐谱、原始提示词、歌词和修改要求交给一个 AgentAgent 可以重新配和声reharmonize、发展独奏develop a solo、改编歌词与风格而 YuE2 负责把每个修订版渲染成音频。获取一个规划plan对于上面创作流程生成的歌曲复制outputs/song/score.abc为edited.abc。如果只想先拿到规划先不出音频可用相同的提示词与 seed 调用planplan pipe.plan(stylestyle, lyricslyrics, cotfull, seeddemo[seed]) plan.save(original_plan) # 保留原版并把副本编辑为 edited.abc。严格的重新配和声strict reharmonization建议让 Agent 保持旋律的音高与节奏并核对长音与新的和弦是否协调若希望更大幅度的改编则可允许选定的旋律或歌词改动。审阅edited.abc后用修订后的风格重新生成本例沿用创作流程的歌词与 seededited_style ( Jazz, expressive lead vocal, piano, tenor saxophone, upright bass, brushed drums, no guitar, spacious modern harmony ) song pipe(styleedited_style, lyricslyrics, cotfull, seeddemo[seed], abcPath(edited.abc).read_text(encodingutf-8)) song.save(edited.flac) song.save_artifacts(outputs/edited)分阶段 API 与 CFG 细节README 中以可折叠块给出的补充说明完整调用链为pipe.plan()→pipe.generate_semantic(plan)→pipe.synthesize(semantic)→pipe.decode(latents)使用完毕调用pipe.close()释放资源每个 CoT 模式选择其原生的指令instructionSemantic 阶段的 CFG 默认值full/melody为 1.0off为 1.01ABC 乐谱采样不使用 CFG生成默认显示英文进度消息当前阶段、耗时、token 吞吐量可用from_pretrained(repo, progressFalse)或命令行yue2 generate --quiet/yue2 batch --quiet关闭如需复现论文基准的解码器在from_pretrained时传vaem-a-p/YuE2-Vae-legacy。源码级解析AR–NAR 混合 Transformer 骨干README 用一张架构图概括了模型主干仓库中的 modeling_yue2.py 则提供了自包含的推理实现通过 Transformerstrust_remote_code加载不依赖 CUDA 扩展可以从源码结构确认其设计Mixture-of-TransformersMoT双层路由DecoderLayer 同时包含 AR 与 NAR 两套独立的 QKV 投影、LayerNorm 与 MLP在前向计算中按ar_mask对每个位置选择 AR 或 NAR 路径torch.where按位置合并 Q/K/V 与 MLP 输出AR 模式生成阶段则只走 AR 路径AR 因果语言模型generateYuE2ForCausalLM.forward是标准带 KV cache 的因果 LM 前向负责写乐谱与语义 token推理包在此基础上结合 CUDA graphs 与 FlashAttention 加速NAR flow matchingODEnar_velocity计算流匹配的速度场v_theta(x_t, t)modeling_yue2.py。它把 token 词嵌入、vae2llm(x_t)映射的 latent、正弦时间步嵌入TimestepEmbedder与音频 latent 位置编码AudioPositionEmbedding在 NAR 位置融合并构造混合注意力掩码——AR→AR 因果、NAR→AR 全连接、NAR→NAR 双向、AR→NAR 屏蔽时间步通过timestep_shift配置默认 1.0做 sigmoid 偏移静态 KV CacheStaticKVCache 为显式单请求 AR 循环提供有界、只追加的缓存超限时抛出异常而不是悄悄截断生成配置事实config.json 中architectures[YuE2ForCausalLM]、model_typeyue2auto_map指向本仓库的YuE2Config/YuE2ForCausalLM模型为 28 层、hidden size 2048、16 个注意力头 / 8 个 KV 头、intermediate_size6144、词表 184704latent_typevae、latent_dim64、max_latent_frames24576、timestep_shift1.0。权重文件 model.safetensors 约 7.26 GB见 weights_manifest.json。阶段流水线的完整链路把 README 的操作与源码对照一次完整生成可拆解为plan由歌词 风格 CoT 模式生成 ABC 乐谱旋律与和弦的符号规划generate_semantic在规划条件下生成语义 token歌声内容Semantic CFG 在此阶段生效synthesize以语义 token 为条件通过 flow matchingode_steps32、midpoint 法生成声学 latentdecodeVAE 把 latent 解码为 48 kHz 立体声 PCM。VAE 的选择README 的Choosing a VAE一节给出的结论是基准对比中YuE2-Vae-legacy的音乐性musicality分数更高而YuE2-Vae的感知音频质量更好。因此默认使用 YuE2-Vae只有复现论文基准结果时才改用 YuE2-Vae-legacyvaem-a-p/YuE2-Vae-legacy。THIRD_PARTY_NOTICES.md 说明 VAE 的 Oobleck 与 SnakeBeta 实现分别源自 stable-audio-toolsMIT与 NVIDIA BigVGANMIT保留原始许可。性能与资源一条关键数据在 RTX 4090 上一首 3.6 分钟的歌曲只需 71 秒即可生成。HF 推理包基于 PyTorch、CUDA graphs 与 FlashAttentionAR/NAR 使用 BF16、VAE 使用 FP32。GPUCoT预热样本LM tokens/s生成 / 音频耗时峰值显存RTX 4090 24GBfull32139.4871.04 / 214.85 s11.18 GiBRTX 4090 24GBmelody32139.3268.68 / 214.67 s11.02 GiBRTX 4090 24GBoff32121.0757.91 / 196.88 s11.09 GiBH800 80GBfull1164.3854.74 / 224.96 s10.34 GiB资源建议一次只生成一首歌曲需要24GB GPU和24GB 可用主机内存最大上下文测试峰值显存为14.08 GiB。README 还给出了一个独立的H800 服务器vLLM 0.19full CoT并发服务数据它用于并发请求AR 并发上限LM system tokens/s歌曲/小时峰值显存1378.42119.4378.55 GiB162418.63340.3878.66 GiB323231.74373.5376.61 GiB测量口径说明HF 环境为 PyTorch 2.10、Transformers 4.57.6、无量化、默认 YuE2-Vae4090 为每种模式 32 次预热请求的平均值H800 为单曲下载与生成的检查耗时为同步 Pipeline 调用不含路径解析与保存显存由 NVML 记录整轮峰值。服务器行每行为 32 首歌AR/NAR 使用 PyTorch 2.10 与 Triton 3.6VAE 使用 PyTorch 2.6歌曲/小时是各阶段全部完成后的 warm batch 吞吐非请求延迟TPS 对输出 token 只计一次不含前缀、提供的 ABC 与第二条 CFG 分支显存包含预留 KV cache。该服务器运行环境与 HF Quick start 相互独立。基准结果WildSongBench 与 SHS100KWildSongBench · 整曲生成README 报告了 YuE2含 best-of-8在 192 个 prompt 上与开源及闭源模型的对比图中还给出了音乐性与文本对齐的可视化见 assets/figure1.png矢量版见 assets/figure1.pdf / assets/figure1.svg。开源模型节选ModelMusicality ↑SongBench Avg ↑MuLan ↑AllMusicCaps ↑Q3O ↑PER ↓YuE 14.08474.91650.26230.28823.730136.38%LeVo 25.45906.32470.35420.26803.945826.12%ACE-Step 1.55.15886.01180.43720.38694.58097.46%MiniMax Music 35.34826.28300.39280.36094.43626.27%YuE25.90756.73160.50680.40544.68198.44%YuE2 (best-of-8)6.26666.96320.50510.39804.70099.79%闭源模型节选ModelMusicality ↑SongBench Avg ↑MuLan ↑AllMusicCaps ↑Q3O ↑PER ↓Suno v55.99186.87210.54280.43534.59078.10%Suno v65.65586.55620.49160.43054.62587.58%Mureka 96.04886.93770.43940.41024.636811.69%YuE25.90756.73160.50680.40544.68198.44%YuE2 (best-of-8)6.26666.96320.50510.39804.70099.79%192 个 prompt。两个 YuE2 设置均使用符号规划与 YuE2-Vae-legacy标准 YuE2 从两个候选中选择best-of-8 从八个候选中选择。SHS100K · 零样本 Cover 生成MethodCLEWS mAP ↑CLEWS Hit1 ↑VINet mAP ↑MuLan ↑Musicality ↑SongEcho0.41948.4%0.1220.3663.286ACE-Step 1.50.0242.4%0.0060.1663.689YuE2 (full score)0.64771.3%0.2880.3825.104YuE2 (without chords)0.59867.3%0.1790.4175.490YuE2 (without score)0.0060.3%0.0040.4745.691948 首作品 × 2 种风格 × 2 个 seed每个方法 3,792 首歌无候选选择基于乐谱的变体使用提供的源乐谱所有 YuE2 变体使用 YuE2-Vae-legacy。评估协议要点WSB 的 SongBench Avg 对七个维度取平均Q3O 为 0–5 刻度的提示遵循度PER 为音素错误率标准 YuE2 从两个候选中选 PER 更低者best-of-8 按 Musicality → Q3O → PER 顺序选择每个候选的 PER 取四次 ASR 中最低者。SHS100K 中 CLEWS 与 Discogs-VINet 衡量在排除源录音10,545 条后保留的歌曲身份MuLan 衡量目标风格相似度Musicality 来自 SongBench身份与质量指标需一起解读。这些都是声明了候选选择协议下的自动评测结果。引用与许可官方技术报告尚未发布Technical report coming soon当前建议在研究中引用 YuE 论文arXiv:2503.08638article{yuan2025yue, title {{YuE}: Scaling Open Foundation Models for Long-Form Music Generation}, author {Yuan, Ruibin and Lin, Hanfeng and Guo, Shuyue and Zhang, Ge and Pan, Jiahao and Zang, Yongyi and Liu, Haohe and Liang, Yiming and Ma, Wenye and Du, Xingjian and Du, Xinrun and Ye, Zhen and Zheng, Tianyu and Jiang, Zhengxuan and Ma, Yinghao and Liu, Minghao and Tian, Zeyue and Zhou, Ziya and Xue, Liumeng and Qu, Xingwei and Li, Yizhi and Wu, Shangda and Shen, Tianhao and Ma, Ziyang and Zhan, Jun and Wang, Chunhui and Wang, Yatian and Chi, Xiaowei and Zhang, Xinyue and Yang, Zhenzhu and Wang, Xiangzhou and Liu, Shansong and Mei, Lingrui and Li, Peng and Wang, Junjie and Yu, Jianwei and Pang, Guojian and Li, Xu and Wang, Zihao and Zhou, Xiaohuan and Yu, Lijun and Benetos, Emmanouil and Chen, Yong and Lin, Chenghua and Li, Xue and Wu, Yiran and Zhang, Ge and Jiang, Hongqiu and Liu, Jiaheng and Yang, Jian and Huang, Wenhao and Xue, Wei and Tan, Xu and Guo, Yike}, journal {arXiv preprint arXiv:2503.08638}, year {2025}, eprint {2503.08638}, archivePrefix {arXiv}, url {https://arxiv.org/abs/2503.08638} }权重采用 CC BY-NC 4.0 许可第三方代码许可见 THIRD_PARTY_NOTICES.md。官方还提供盲听投票的 Music Arena 与交互式 Demo可用来给 YuE2 与主流商业模型做主观听感对比。赞分享音乐生成大模型人工智能媒体生成【免费下载链接】YuE2-3B项目地址https://ai.gitcode.com/hf_mirrors/m-a-p/YuE2-3B点击查看免费下载相关推荐YuE2 歌曲生成实战指南从风格与歌词到 48kHz 立体声的完整管线YuE2 歌曲生成实战指南从风格与歌词到 48kHz 立体声的完整管线 本篇技术指南完整讲解如何在本地运行 YuE2 的端到端歌曲生成流程从书写风格提示s人工智能音乐生成媒体生成音频大模型本地部署AI 技能模型评测YuE2-3B文本生成音乐完全教程写好风格提示词与歌词的5个技巧让AI歌曲质量翻倍YuE2 3B文本生成音乐完全教程写好风格提示词与歌词的5个技巧让AI歌曲质量翻倍 YuE2 3B 是一款开源的文本生成音乐模型只需输入一段风格提示词S音乐生成大模型人工智能媒体生成YuE2 智能体音乐编辑实战用 ABC 乐谱作为白盒接口完成和声重配、歌词与曲式改编YuE2 智能体音乐编辑实战用 ABC 乐谱作为白盒接口完成和声重配、歌词与曲式改编 YuE2 的核心理念是 白盒音乐生成white box music g人工智能音乐生成媒体生成音频大模型本地部署AI 技能模型评测创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表