# 自动化配音 — AI 协作红线

入口：`使用说明.md`（怎么用）→ `文案写作规范.md`（怎么写稿）→ `发音规则.md`（读音决策树+案例库）→ `创造全流程.md`（机制由来、翻车博物馆、换音色复刻清单）。改代码前先翻"翻车博物馆"，别复活已被否决的方案。

## 红线（每条都有血泪实案，违反=事故）

1. **永不调速**：`prosody.speed` 焊死 1.0，调快调慢都出电音。节奏只能动文本形态（行尾句号化/标点/段间 gap）。
2. **永不在输出端对人声做去呼吸/衰减等波形手术**（用户耳测"一坨"）。呼吸正解＝净化参考 + 连喘检测 roll + BGM 掩盖。
3. **音色 0.95 无例外**：`target_tiers=[[0,0.95]]`，金句也不许 0.93。短段够不着的唯一正解＝并段加长（`--minchars`），不是降目标、不是为金句分行。
4. **锚点已冻结**（`anchor_frozen=true`，`models\锚点.npz`）：不往锚点滚新样本、不动负样本库；反馈只记台账。
5. **不替作者断句**：原文标点＝停顿地图，把短句逐行切碎＝整批掉档（`--preview` 版式预检会拦，但写的时候就别犯）。
6. **`config.json` 含 API 密钥**：别外传、别提交公开仓库。
7. **读音修复以用户读法为准，不是字典**（祛魅=qù 案）；修完必须按 `发音规则.md` 回填三件套（预检+决策树+案例库），不许一次性经验。

## 环境坑

- sherpa-onnx 的 ASR 模型**必须放纯 ASCII 路径**：`C:\Users\Public\asr-paraformer-ts`（质检.py 在用）、`C:\Users\Public\asr-paraformer`。中文路径报 invalid unordered_map key。声纹模型（CAM++）无此问题。
- 离线验证用"桩替身 synthesize + 现有音频"干跑，零 API 消耗。
- 并行问题排查：`--serial` 回串行，产物应与并行逐字节一致。
- PS5.1 变量大小写不敏感；读文本用 utf-8-sig。

## 命令速查

| 场景 | 命令 |
|---|---|
| 免费预检（版式+读音） | `python 配音.py --preview` |
| 正式合成 | `python 配音.py [稿子.txt] [--out 目录] [--minchars 55] [--serial]` |
| 单段重roll | `python 重roll.py N [版数] [--keep\|--force]` |
| 反馈 | `python 反馈.py N 最像\|不像\|读错\|听点对\|听点错 [词]` |
| 金句悬停+重拼 | `python 悬停.py && python 合并.py` |
| 成品加BGM | `python 加BGM.py [--vol 0.12] [--bgm 曲目]` |
| 语料导出 | `python 语料.py` |

## 待做

- P2 审听台（本地网页裁决台）：设计蓝本在 `方案-人机协同配音流水线.md` §5。
