--- name: mc-ai-tell-audit description: The post-generation AI-tell audit (AI 味诊断). Run this on every generated track before accepting it. Covers the fourteen enumerable defaults that generative music models fall into, which of them are machine-measurable and which need ears, why compliance rate and AI-tell count are two separate numbers that must never be merged, the zero-point calibration that sets the pass threshold at 82 rather than 60, the ordered diagnostic path from symptom to owning skill, and the remediation list. Use when a generation comes back and must be accepted or rejected, when a track sounds synthetic but you cannot say why, when deciding whether to accept a take, or when a high compliance rate still produced a bad result. AI 味、诊断、验收、听不出来是 AI、照做率、生成后检查。 --- # AI 味诊断(AI-Tell Audit) **生成回来的每一条都要过这个 skill。这是本库的终检。** > **核心命题**:AI 味不是玄学。 > **生成模型不给规格就走默认值,而这些默认值是可枚举的。** > 本 skill 就是那份枚举,加上"每一条怎么查、归谁管"。 ## 按任务读哪几节 | 任务 | 读 | |---|---| | 刚生成完,要验收 | §2 十四条 → §3 判定 | | "听着像 AI 但说不出哪里" | §2(★ **逐条查,不要凭直觉**) | | 照做率很高但结果不好 | §4 | | 要定阈值 | §3.2 零点校准 | | 查出问题了要改 | §5 整改路径 | | 人声的四条怎么查 | §6 | ## 边界 | 不归这里 | 归哪 | |---|---| | 规格**写完**时的检查 | `mc-workflow` §3.0 的 20 条自查表 | | 照做率怎么算 | 本 skill §3.1(定义与标定);honors 三档怎么影响计分见 `mc-render-compile` §6 | | 具体怎么改 | 各 L1/L2 skill(§5 给路由) | | 后端做不到的字段怎么办 | `mc-render-compile` §6、§7 | > ★ **与 20 条自查的分工**: > **自查问"规格写完没有",本 skill 问"生成出来的东西像不像人做的"。** > **两边都看过才算完。** 17 条全过的规格照样可能生成出满是 AI 味的音频。 --- ## 1. 动笔前必填 | 必填 | 问法 | |---|---| | **① 这一版的规格与种子** | 没记录就没法复现,**审计结果也就没用** | | **② 后端的 honors 表** | 哪些项是它做不到的——**那些不算它的账** | | **③ 有没有分轨** | 人声四条(§6)需要先分离人声轨 | --- ## 2. ★ 十四条枚举 **逐条打勾。不要凭整体印象。** | # | AI 味来源(后端默认值) | 对抗的 spec 字段 | 可自动测 | 归谁管 | |---|---|---|---|---| | **1** | 段落全是 8 的整数倍 | `form[].bars` | ✅ 段落边界检测 | `mc-arrangement-arch` §4 | | **2** | **能量曲线单调递增,从不减** | `energy_curve`、`subtraction_events` | ✅ 分段 RMS | `mc-arrangement-arch` §2、§3 | | **3** | 编制从头到尾不变 | `roster[].entry/exit` | ✅ 分轨 onset 密度 | `mc-arrangement-arch` §5 | | **4** | 全曲一个和声循环到底 | bridge 必须离调或转调 | ✅ 和弦识别 | `mc-harmony`、`mc-modulation` | | **5** | fill 刻板落在 4 的倍数 | `fill_policy` | ✅ onset 峰值位置 | `mc-rhythm-section` §8 | | **6** | 没有非人声记忆点 | `hooks.arrangement_hook` | ⚠️ 半自动(重复段落相似度) | `mc-arrangement-arch` §7 | | **7** | **动态压死、频谱质心恒定** | `dynamics`、`width_map` | ✅ DR/LRA、质心时序方差 | `mc-mix-intent` | | **8** | **网格化、无 push/pull** | `groove.push_pull` | ✅ onset 相对网格偏移 | `mc-rhythm-section` §3 | | **9** | 时长永远 3:30,没有尾巴 | `target_duration` + 结尾处理 | ✅ | `mc-arrangement-arch` §8 | | **10** | **每句同样的力度与咬字,没有气声、破音、rubato** | `vocal.delivery`、`dynamics_by_section` | ⚠️ 需分轨后测短时响度方差 | `mc-vocal-direction` §2、§4 | | **11** | **副歌三遍唱得一模一样** | `vocal.chorus_variation` | ✅ 人声轨分段相似度 | `mc-vocal-direction` §1④ | | **12** | **换气点不自然或听不到换气** | `vocal.breath_points` | ⚠️ 半自动 | `mc-vocal-direction` | | **13** | **ad-lib 均匀撒或干脆没有** | `vocal.ad_libs` | ⚠️ 半自动 | `mc-vocal-direction` | | **14** | **音准全中** | `vocal.pitch_policy` | ⚠️ 半自动(分轨后测音高偏移分布) | `mc-vocal-direction` §4 | > ★ **这张表一张三用**:本 skill 的骨架、AB 实验评判表的骨架、 > 以及 20 条自查的来源。**改一处要同步三处。** ### 2.1 ★ 三条最容易漏、也最致命的 **不是因为它们最难查,而是因为它们不难听——只是"不像人做的"。** | # | 为什么致命 | |---|---| | **2(能量只升不降)** | 实测 **62/62** 真实编曲都有下降。**这是命中率最高的一条强规则**,也是听感上最像 AI 的一条 | | **8(全部对齐网格)** | 实测 **62/62**。注意读法是"**不许全曲每一件都在网格上**"——鼓组绝对量化是允许的(→ `mc-rhythm-section` §2.0) | | **6(没有非人声记忆点)** | 它的症状是"听着还行但记不住",**最容易通过所有其他检查**。缺它的歌听完就忘 | --- ## 3. 两个数,不许合并 ### 3.1 定义 | | 问什么 | 怎么得 | 范围 | |---|---|---|---| | **照做率** | **后端照着规格做了多少** | 逐字段对照规格(仓库内部有度量工具可算成分数) | 0–100 | | **AI 味旗标数** | **成品有多少条机器指纹** | 本 skill §2 逐条打勾 | 0–14 | ★ **绝对不要把它们合成一个分数。** 它们诊断的是不同的病: ``` 照做率高 + 旗标少 → 好,接受 照做率高 + 旗标多 → ★ 规格本身写得像 AI(见 §4) 照做率低 + 旗标少 → 后端自己干得不错,但你不可复现(见 §4.2) 照做率低 + 旗标多 → 编译或后端选择有问题,回 mc-render-compile ``` ### 3.2 ★ 零点校准:阈值为什么是 82 不是 60 **不相关的、制作精良的成品在照做率表上得 63–66 分。** 这是因为任何一首正常的歌都会"碰巧"满足一部分项(有拍速、有段落、有动态)。 所以: | 线 | 值 | |---|---| | **零点**(不相关成品) | **63–66** | | **及格** | **70** | | **合格** | **82** | ★ 上面三个数是**仓库实验的标定值**,用来理解量级,不是交付门槛;用户侧没有度量工具时,照做率就是逐字段对照后的一个判断。 ★★ **一个踩过的坑**:把权重从**有区分度**的项(`boundaries`)挪到 **没区分度**的项(`energy_shape`,不相关曲目也能拿 0.8), 会**抬高所有人的分数**,包括零点基线(66→72)。 **加权重要加在能区分的项上。** ### 3.3 后端做不到的不算它的账 `honors: none` 的字段**排除计分,不是给 0 分**。 详见 `mc-render-compile` §6.1——**这是一个正确性问题,不是口径问题**。 --- ## 4. ★ 照做率高但仍然像 AI **这是本 skill 存在的主要理由。** 照做率只衡量"后端有没有照做",**不衡量"规格本身好不好"**。 规格写得像 AI,后端忠实执行,结果就是一首照做率 95 的 AI 歌。 ### 4.1 规格像 AI 的四个征兆 | 征兆 | 查哪 | |---|---| | `intent.one_thing` 是**为了过 lint 填的**,念出来不像一句人话 | `mc-workflow` §1 的 S0 | | `reference_pair` 的 `borrow` 写得很泛("借它的氛围") | 同上。**"只借前奏的空"才叫写了** | | 每个段落的 `bars` **只是为了避开 8 的倍数**而选的怪数字 | `mc-arrangement-arch` §4——**非对称要有理由** | | 用的进行 / 转调命中了**套路警戒线**且没写理由 | `mc-progressions` §3、`mc-modulation` §6 | ★ **共同点**:**规则被当成了要满足的条件,而不是要做的选择。** 这正好是 AI 味的定义——**没有人做过选择**。 ### 4.2 照做率低但好听 **说明后端自己发挥得不错。可以接受这个成品,但要意识到:** - 你**不可复现**它 - 你**不知道**是哪个决定让它好 - 下一首得从头碰运气 ★ **处理办法**:把这个成品逐字段反推成一份实测 ARR-SPEC(仓库内部有工具可自动测), 看它和你原本的规格差在哪。**那个差值就是你学到的东西。** --- ## 5. 整改路径 **按这个顺序,不要凭直觉跳。** ``` 听着"像 AI" └─ ① 逐字段对照规格,拿照做率 └─ ② 逐条过 §2 的十四条,数出旗标数 ├─ 照做率低 → 查 honors │ ├─ 这个字段该后端是 none → 不是它的错。换后端(YuE2 控制力最强)或接受 │ └─ 不是 none → 编译问题 → mc-render-compile §3 └─ 照做率高但旗标多 → ★ 规格本身的问题 → §4.1 ``` ### 5.1 症状 → skill(速查) | 症状 | 先查 | |---|---| | 平、没起伏 | `mc-arrangement-arch` §2 | | 糊、浑 | `mc-texture-layering` §4(★ **先查持续音,不是先怪鼓**) | | 主角不突出 | `mc-texture-layering` §3 四条深度线索 | | 机械、太准 | `mc-rhythm-section` §2 + `mc-vocal-direction` §4 | | 听着还行但记不住 | `mc-arrangement-arch` §7(`arrangement_hook` 是不是空的) | | 第二遍副歌和第一遍一样 | `mc-arrangement-arch` §6 + `mc-vocal-direction` §1④ | | 人声埋在伴奏里 | **先查音准**(`mc-vocal-direction` §4.1),再查频段 | | 贝斯在手机上消失 | `mc-sound-design` §6 差音 | | 结尾突兀 / 淡出了事 | `mc-arrangement-arch` §8;★ 检查 `exclude` 里有没有排除 `fade out ending` | | 技术上干净但情绪不对 | `mc-mix-intent` §3.1(`mood` 是不是没写) | | 和声一个循环到底 | `mc-harmony` §7、`mc-modulation` | --- ## 6. 人声四条(#10、#12、#13、#14) **这四条都需要先把人声轨分离出来。** ### 6.1 分轨 用任何分轨工具把人声轨分出来即可(demucs 一类,或用户生成载体自带的分轨,通常分成人声/贝斯/鼓/其余)。 本 skill 不预设哪一个。 > ★ **这是分轨在本库里少数必要的场合之一**: > 多轨语料(Cambridge-MT)给不了"Suno 唱出来的人声",只能从生成结果里分。 ### 6.2 分轨之后测什么 | # | 测什么 | 判据 | |---|---|---| | **10** 力度 | 人声轨的**短时响度方差** | 方差接近 0 = 全程一个力度 | | **11** 副歌雷同 | 各遍副歌人声轨的**分段相似度** | 相似度过高 = 原样复制 | | **12** 换气 | 句间的低能量段 | ⚠️ 半自动,目前靠听 | | **13** ad-lib | 装饰性发声的分布 | ⚠️ 半自动。**均匀 = 撒的,不是唱的** | | **14** 音准 | **音高偏移的分布** | ⚠️ 半自动。**全部落在 ±5 音分内 = 修过头/生成的** | ### 6.3 ⚠ 现状 **#12、#13、#14 靠人工听,这是刻意的选择,不是漏了一步。** 这三条测的是换气的能量谷、装饰音的分布、音高偏移的分布,它们的自动判据都要按生成模型分别标定阈值,不同模型的基线差得远,硬套一个统一数字容易把唱得好的判成有问题。人工听一遍这三条本来就很快,也正是耳朵天然比机器灵的地方,不算额外负担。 --- ## 7. 验收清单 **每一条生成结果都要过。** - [ ] 记录了**规格版本与种子** - [ ] 逐字段对照过规格,照做率心里有数 - [ ] **逐条**过了 §2 的十四条,**数出了旗标数**(不是凭印象) - [ ] `honors: none` 的项**被排除计分**,不是给 0 - [ ] 照做率高但旗标多的话,查过 §4.1 的四个征兆 - [ ] 人声四条至少**人工听过一遍** - [ ] ★ **耳朵是最后介入的**:A/B 打乱 → 成对比较 → **同一对听两遍看结论稳不稳** - [ ] 结论两遍不一致 → **这个差异不存在,别改** --- ## 附:来源 - 骨架来自 本库架构文档 §1.2(十四条枚举表) - 实测数据来自 仓库实验记录「规则佐证第一轮」 (Cambridge-MT 多轨 62 首自然抽样) - 仓库内部有度量工具(lint、音频分析、照做率、语料反推),**不随插件发布**;本 skill 的十四条全部可以人工判 - 十四条里 1–5、7–9、11 在仓库里可机器算,**6、10、12、13、14 是人工项** > ★ **一条方法论提醒**(踩过的坑): > 指标测不准时,**不要拿指标去推翻教科书,先问指标测的是不是那回事**。 > 例:「最高潮前应有能量回落」在全量 62 首里只有 22%,但在 7 首人工标注真值里是 5/7—— > 差距来自算法用能量峰值定位"最高潮",而人耳不是。 > **22% 那个数测的不是这条规则。**