🎵 KMC 音乐引擎使用情形指南

SA3 / kais-bgm 曲库 / ACE-Step / m3 / YuE2 · 五引擎分工全景 · 2026-09-15
口径:bgm_spotting.py 实读(1354 行)· commits: 894f97ba / 1c4e7bcc / dbccb96
1
管线内全自动引擎(SA3)
3
级联层数 P1→P2→P3
2
渲外特殊位旁路(m3/YuE2)
1
死分支(ACE ≥60s)

一、总路由表:什么情形用什么引擎

情形引擎触发方式自动化
P12b spotting 全部 cue
每集 BGM 主路径,cue 4.5–33s
SA3(base 档)_kap_generate() 级联 P1全自动
KAP API 不可用(失败/超时)kais-bgm 曲库_match_library() 级联 P2自动 fallback
曲库也没命中numpy drone_numpy_drone() 级联 P3自动兜底 DEGRADED
cue ≥60s 且显式开 BGM_ENGINE_ACE=1ACE-Step 1.5_kap_ace_step()死分支 实测两集 EDL 全 cue <60s,从不触发
渲外特殊位长曲
主题曲 / OP-ED / 宣传曲 60–360s
m3手动脚本 import _kap_m3人工触发
渲外特殊位人声歌
主题曲 / 角色歌 / 翻唱 demo
YuE2手动 import _kap_yue2_with_gate人工触发 门内自动换 seed

二、P12b 级联真相(实读 spotting_session_compose)

P1 · KAP SA3 生成
主路径 · base 档 ~70s/30s 曲
──▶失败
P2 · kais-bgm 曲库
KAP 不可用时零 GPU 兜底
──▶未命中
P3 · numpy drone
最后防线 · DEGRADED 标记
m3 / YuE2 永远不在级联里(R11 禁唱)· 实际生产 = P12b 子代理 standalone import(gen_bgm2.py 模式)· bgm_spotting 是子代理工具箱而非确定性步骤

三、渲外特殊位旁路(人工触发)

💠 m3 — 特殊位长曲

英文轴最优 · 开放许可(商用唯一选择)· 死区风格回退位
# 默认 [Instrumental](R11)
from bgm_spotting import _kap_m3
raw = _kap_m3("epic orchestral theme", 120, out)

# ⚠ 耗时 2.6–7.5×rt(CN 77s / EN 339s)
# ⚠ VRAM 22.5GB 与渲染物理互斥
# ⚠ :5112 无 systemd 易宕 → 用前 curl /health
# ⚠ 用完即杀进程(释放 22GB)

🟣 YuE2 — 特殊位人声歌

中文 ballad 轴盲审连续两日 ≥m3 · 0.22×rt(10–19s/45s 曲)· CC-BY-NC 商用红线
from bgm_spotting import _kap_yue2_with_gate
r = _kap_yue2_with_gate(style, lyrics, 45, out)
# → {path, prompt_id, seed, license,
# vocal_gate, attempts}

# ASR 人声门 sim≥0.30 · fail 自动换 seed ×2
# skipped≠pass(环境缺失显式可见)
# 生产前置: YUE2_ASR_PYTHON 必须显式设
⚠ 不做跨风格自动改写:synthwave 类死区风格(人声率 0/6,引擎级死症)换 seed 无效 → 直接回退 _kap_m3。死区风格或商用项目 → 不试 YuE2。

四、三条硬规则

R11
BGM 禁唱
spotting 位禁含人声(p12b_audio_composition.py:974)→ m3/YuE2 永不进级联。违反:人声污染 BGM 轨。
渲避
渲期避让
m3 22.5GB 与 H3 渲染权重物理互斥;YuE2 7.6G 也守「渲前 ComfyUI queue 空」。违反:渲染 OOM / 级联排队分钟级。
死区
死区风格分流
synthwave 类(人声率 0/6)或商用项目 → 直接 m3。违反:白烧 3 次重试仍无人声。

五、定谳时间线

08-17 · 三引擎分工定案
SA3 单引擎主线 + m3 旁路特殊位;m3 三重否决(R11 禁唱 / GPU 物理互斥 / 9×realtime)
commit dbccb96
09-13 → 09-14 · YuE2 挑战与翻身
双题盲选 2:0 m3 → 四臂盲审翻身成立(起效变量=步数 32→50);次日泛化批修正:票向方差 ≥ 档位效应,i8-32 最稳
shared/2026-09-13/yue2_*_verdict.json
09-14 晚 · 人声缺失发现
六题 20 轨批:25% 轨迹无有效人声 → 生产前置 = ASR 人声门 + 无人声自动换 seed 重渲
shared/2026-09-14/yue2_gen_verdict.json
09-15 · 全链闭环
seed 轴探针定谳:缺失主因=风格轴(synthwave 0/6 死症)· KAP yue2 路由族割接(int8-32 默认档)· KMC with_gate 消费端落地(19 单测 + 真机门 sim=0.732)
894f97ba · 1c4e7bcc · shared/2026-09-15/vp_probe/

六、SA3 档位注意(08-18 定案)

项内容
默认档base(非蒸馏完整 flow model)——盲审明显胜 medium;euler / 50 steps / cfg7,调用方无需传 steps/cfg(isBaseModel() 自动分支)
prompt 注意base 偏暗,建议带 brightness 词("bright, luminous")
耗时~70s/30s 曲(vs distilled ~9s)——渲外可接受,渲期按避让规则