基于 YuE2-3B 的桌面音乐工作站:写歌词、选风格,一键生成带人声与伴奏的 48kHz 立体声歌曲,内置试听播放器与流派预设管理。
- 🎛️ 流派风格预设(新建 / 保存 / 删除,持久化到
~/.feifei_music_presets.json) - ⚙️ 乐理规划 CoT:
full(旋律+和弦)/melody(仅旋律)/off(直接生成) - 🎲 随机种子、
cfg_scale文本引导强度可调 - 🚀 后台线程生成,不卡 UI;pipeline 全局缓存,多首歌只加载一次模型
- 🎧 内置监听台:试听播放、进度条、电平动效
- 📂 输出 FLAC 音频 + ABC 谱 / tokens 等中间产物
- Linux,Python 3.10+
- uv
- 24GB 显存 NVIDIA GPU(BF16),如 RTX 5090 / 4090
- 约 24GB 可用内存
# 1. 创建虚拟环境
uv venv
# 2. 固定版本的 huggingface-hub(官方 wheel 安装要求)
uv pip install huggingface-hub==0.36.2
# 3. 下载 yue2_infer 推理包
uv run hf download m-a-p/YuE2-3B yue2_infer-0.1.5-py3-none-any.whl --local-dir .
# 4. 安装推理包及其依赖(torch / transformers 等)
uv pip install ./yue2_infer-0.1.5-py3-none-any.whl
# 5. 安装本项目 UI 依赖
uv pip install PyQt6首次生成时会自动从 Hugging Face 拉取 m-a-p/YuE2-3B 模型权重(以及默认的 YuE2-Vae),请确保网络可用或提前缓存。
uv run music_studio.py- 左侧:选择或编辑流派预设,可用「自定义加料」补充元素;下方调整 CoT、Seed、
cfg_scale。 - 右侧:填写歌曲名称与歌词(用
[verse]/[chorus]/[bridge]/[outro]分段),或点「填入示例歌词」。 - 点击 🚀 启动!生成完整歌曲,等待后台完成后自动开始试听。
~/Music/YuE2_Songs/
├── 曲名_时间戳.flac # 48kHz 无损音频
└── 曲名_时间戳/ # save_artifacts:ABC 谱、tokens、latents、settings
| 模式 | 说明 |
|---|---|
full |
旋律 + 和弦完整规划(默认,推荐) |
melody |
仅旋律规划,适合翻唱/改编 |
off |
跳过符号规划,速度最快 |
- 模型:https://huggingface.co/m-a-p/YuE2-3B
- 论文:https://arxiv.org/abs/2503.08638
- 官方仓库:https://github.com/multimodal-art-projection/YuE
模型权重遵循 CC BY-NC 4.0(仅限非商业用途),使用前请阅读官方许可证与第三方声明。