# Mc AI Tell Audit

> 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、照做率、生成后检查。

- Skill: `jtydhr88/mc-ai-tell-audit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jtydhr88/mc-ai-tell-audit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jtydhr88/mc-ai-tell-audit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: jtydhr88 (https://skillmd.com/u/jtydhr88)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/jtydhr88/mc-ai-tell-audit

---


# 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% 那个数测的不是这条规则。**

