整合式 AI 音乐工作台 — 歌词一键成歌、老歌翻唱重制、乐谱驱动的 DAW 式编辑、自动扒谱、四轨分离、音乐库理解、盲听评测与母带,全部跑在本地单卡上,离线可用。
DAW 工作区:波形拖选 → 区域试听(<1s)→ 挖补候选 → 隐变量域拼回;挖补点之前逐比特不变
- AI 唱作:歌词 + 风格 → 48kHz 立体声完整歌曲(人声 + 伴奏),最长约 5 分钟;三种规划模式(full / melody / off)
- 乐谱驱动编辑:每次生成落盘 ABC 乐谱 + 语义 token + 隐变量;整曲重渲染 / 尾段重唱 / 区域挖补(同谱不同演绎,2~8 候选,强拍线自动对齐)/ 改词重唱
- AI 改谱 Agent:自然语言 → 工具化改谱(移调 / 爵士和声 / 变速)→ diff 人审 → 重渲染
- 自动扒谱:任意音频 → 主旋律 + 和弦 + 节拍 + 调性,应用内五线谱渲染,分轨 MIDI 导出
- 音乐库理解:MERT 打标(能量 / 亮度 / 速度 / 调式)、相似检索、歌单生成、翻唱查重
- 自动评测:歌词清晰度 / 结构连贯性 / VAE 重构 SNR / 削波率,复合分排行榜(行内直接试听) + A/B 对听
- 盲听对决:匿名 A/B 投票,标签只有"选手 A/B"——ELO 口味排行,给代理指标做人耳校准
- 分轨:独立分轨页,HTDemucs 四轨分离——上传 / 素材库 / 项目版本三种来源,四轨试听、逐轨下载、ZIP 打包,分过的秒出结果
- 素材库:上传素材统一登记(原名/时长/派生物标记),扒谱 / 翻唱 / 母带三页都能直接选用历史素材免重复上传,支持 .webm / .mp4 等 YouTube/Suno 下载格式,删除时连带清理派生缓存
- 母带:移植 Beautiful-Singing-Voice-VST3 的修复链——去削波 → 人声链(EQ / 自适应去齿音 / 轻压缩 / 加厚)→ 配乐链(低频清理 + 人声侧链闪避)→ 限制器 → -14 LUFS 归一;7 个风格预设,窗口预览 A/B 对听(solo 人声 / 配乐),整曲导出直接落成新版本;项目版本之外,任意本地歌曲上传即可母带(没分轨先整轨打磨,可一键补分轨)
m-a-p/YuE2-3B(生成) · m-a-p/YuE2-Vae(编解码) · m-a-p/SheetSage2(扒谱) · m-a-p/MERT-v2-FullSong(理解) · adefossez/HTDemucs-ft(分轨) · Qwen/Qwen3-ASR-0.6B(歌词) · Qwen/Qwen3-0.6B(改谱 Agent)
FastAPI(SQLite + 任务队列 + SSE 进度) · Vite + React + TypeScript + Tailwind CSS v4 · wavesurfer.js + abcjs · 单卡懒加载 ModelManager
./install.sh # 环境自检 + venv + 全部依赖 + 前端构建(一条龙)
./install.sh --check # 只做环境自检
./install.sh --models # 推荐:一次性预下载 8 个模型(约 15GB),之后完全离线
./server.sh start # 后台启动并等待健康检查
./server.sh status # 运行状态 / 模型驻留 / 显存 / 队列
./server.sh restart # 重启 ./server.sh stop 停止
./server.sh logs -f # 跟随日志 ./server.sh health 脚本化健康检查
./server.sh dev # 开发模式(后端热更新 + Vite 5173)手动安装(等价步骤)
# 1) 环境(.venv:torch 2.11.0+cu130 / transformers 4.57.6 / yue2-infer 0.1.6)
# 缺依赖时:
uv pip install --python .venv/bin/python fastapi "uvicorn[standard]" sqlalchemy pydantic-settings \
transformers==4.57.6 huggingface-hub==0.36.2 tiktoken soundfile accelerate \
pretty_midi mido mir_eval scipy qwen-asr
uv pip install --python .venv/bin/python --no-deps ../YuE2-Studio/yue2_infer-0.1.6-py3-none-any.whl
uv pip install --python .venv/bin/python --no-deps demucs julius lameenc openunmix dora-search
# 2) 前端构建(或 ./server.sh build)
cd web && npm install && npm run build && cd ..
# 3) 冒烟
.venv/bin/python smoke/smoke_all.py冒烟实测(2026-10-27,RTX 5090 D):YuE2 加载 9.4s,39s 歌曲端到端 13.3s;SheetSage2 加载 22.2s、转录 5.0s(ABC / 分轨 MIDI / 节拍·和弦·调性·结构标注);MERT 提特征 2.8s;HTDemucs 四轨 4.3s;VAE 解码 1.0s。
注意:SheetSage2 固定父模型 MERT-v2-FullSong 的特定 revision(自动联网校验,勿开
HF_HUB_OFFLINE=1跑它)。
- 总体规划与分期路线:docs/PLAN.md
- API 设计与已实现对账:docs/API.md
代码 MIT。所涉模型权重均为 CC BY-NC 4.0,仅限非商用。










