日期:2026-09-16 模型:YuE2-3B(+ YuE2-Vae)+ Demucs 4.1.0(人声分离) 机器:GPU 机 192.168.31.31(RTX 5060 Ti 16GB) 交付:3 首纯器乐,古风 2:33 / 哥萨克 3:04 / 8bit 2:10
| 文件 | 时长 | 格式 | 说明 |
|---|---|---|---|
01-中国古风-古代战场-纯器乐.flac / .mp3 | 2:33 (152.8s) | 44.1kHz 立体声 | 战鼓+唢呐+二胡+琵琶,带男声战吼合唱(已分离) |
02-哥萨克风-古代战场-纯器乐.flac / .mp3 | 3:04 (183.7s) | 44.1kHz 立体声 | 巴扬手风琴+巴拉莱卡+马蹄+鞭响+铜管 |
03-8bit电子风-古代战场-纯器乐.flac / .mp3 | 2:10 (129.9s) | 44.1kHz 立体声 | NES/FC 方波+三角波+噪声通道鼓,快速琶音 |
原始生成版/*.flac | 同上 | 48kHz 立体声 | YuE2 直出原始版(未做人声分离),供对比 |
器乐轨是 44.1kHz —— Demucs 内部按 44.1kHz 处理,源头 48kHz 见「原始生成版」。
1) 中国古风
Epic ancient Chinese battlefield score, thunderous Chinese war drums and taiko, blaring suona and dizi,
erhu, pipa, guzheng, deep brass and low strings, male war-chant choir, galloping fast rhythm,
cinematic, ferocious, 138 BPM, instrumental
2) 哥萨克风
Cossack folk battle music, furious sabre dance tempo, bayan accordion, balalaika and domra,
male Cossack chorus shouting, whip cracks, galloping hoofbeats, brass fanfare, timpani,
wild and fierce, 152 BPM, instrumental
3) 8bit 电子风
8-bit chiptune battle theme, NES Famicom style, square and triangle wave leads, fast arpeggios,
noise channel drums, driving heroic fanfare, frantic and intense, 160 BPM, instrumental
歌词位(三首相同,走 [instrumental] 段落标签):
[intro]
[instrumental]
[verse]
[instrumental]
[chorus]
[instrumental]
[bridge]
[instrumental]
[outro]
[instrumental]
| 参数 | 值 |
|---|---|
| 模式 | cot=off(不做乐谱规划,直接生成) |
semantic_max_tokens | 9000 |
attention_backend | sdpa(本机必须,auto 会切 cuDNN 报错) |
| 显存档 | 16 GB + offload_ar=True + vae_decode=tiled + tile=384 |
| seed | 古风 111111 / 哥萨克 222222 / 8bit 333333 |
| 输出 | 48kHz 立体声 FLAC(YuE2 原生) |
翻遍运行时(yue2_infer-0.1.5 的 pipeline / tokenization / modeling),没有任何 instrumental 开关或分轨输出——它是歌曲模型,AR 阶段必然会生成"人声+伴奏"两路内容。唯一可用的手段是歌词位写段落标签 [instrumental]。
[instrumental] 标签效果不稳定,必须逐首验证用 Demucs 把人声轨分离出来测能量(人声/器乐能量比):
| 曲目 | 人声轨 RMS | 人声/器乐比 | 判定 |
|---|---|---|---|
| 中国古风 | 0.0788 (−22.1 dBFS) | −4.9 dB | ❌ 有明显人声化内容 |
| 哥萨克风 | 0.00025 (−72.0 dBFS) | −57.4 dB | ✅ 基本无人生 |
| 8bit 电子风 | 0.00019 (−74.2 dBFS) | −57.1 dB | ✅ 基本无人生 |
同样写了 [instrumental],古风那首照样生成了人声化的男声战吼合唱(提示词里确实点名了 war-chant choir)。所以:"纯器乐"不能靠标签保证,必须生成后检测 + 分离。
有意思的交叉验证:SheetSage2 对古风的原始版和器乐版都转出
vocal_notes=0(器乐音符 428 / 374,和弦 92 / 94)。说明 Demucs 抓到的"人声"不是旋律性唱腔,而是合唱式/吟唱式的人声 —— 与"战吼合唱"的预期一致。两个判据不矛盾,只是量纲不同。
对每首跑 htdemucs --two-stems=vocals,交付 no_vocals 轨。这样无论模型是否唱了,交付物都保证是纯器乐。代价:器乐轨采样率变 44.1kHz,且分离可能轻微影响人声频段附近的乐器(如唢呐/二胡的领奏)。
| 指标 | 古风 | 哥萨克 | 8bit |
|---|---|---|---|
| 时长 | 152.8s | 183.7s | 129.9s |
| 生成耗时 | 4.0 min | 4.8 min | ~4 min |
| 峰值显存 | ~9–12.9 GiB | — | — |
| 交付版人声残留 | 已分离(≤ −57 dB 量级) | −57.4 dB | −57.1 dB |
(Demucs 分离在 16GB 卡上与生成串行执行,避免显存冲突。)
# 1) 生成(DSH 机,走 GPU 机 ComfyUI API)
python3 yue2-run.py --cot off --sem-mx 9000 --attn sdpa --seed 111111 \
--lyrics-file yue2-battle/lyrics-instrumental.txt \
--style "$(cat yue2-battle/style-cn.txt)" \
--tag battle-cn-guofeng --outdir <输出目录>
# 2) 分离人声、取纯器乐轨(GPU 机)
bash /home/zyw/yue2-demucs.sh battle-cn-guofeng
# -> /home/zyw/yue2-battle/<tag>-instrumental.{flac,mp3}
# -> 同时投放到 ComfyUI/output/YuE2_battle/(便于相册与 /view)
脚本:yue2-battle-run.sh(三首串行驱动)、yue2-demucs.sh(分离+测量+导出)。
cot=full 先出乐谱,把 ABC 里 V: Vocal 声部整体改成等长休止(z),再用 abc_override 重渲染 —— 比事后分离更"原生",但未实测。sem_mx 提到 12000+ 拉长,或风格词里加 double-time, 180 BPM, death choir。