方法论与洞察

TTS 旁白也能蒙眼质检 — ASR 拼音级评分与多 take 选优 (v1)

入档:2026-07-02 触发项目:desk-pond《工位池塘》发布视频旁白修复轮(创作者反馈:语言不清、口水音重、多音字读错) 性质:蒙眼剪辑法的 TTS 质检域扩展。AI 听不见 TTS 的好坏,但 ASR 听得见——用代码”听”,人只做最终验收。

一句话律

无调拼音错误率量咬字,有调减无调量声调;系统性声调偏差换稿不抽卡。

背景

ElevenLabs 生成的中文旁白,创作者审听报出三个问题:咬字含糊、口水音重、多音字读错。AI 无法听音频,以往只能”改参数→请人再听”盲迭代。本轮验证了一条闭环:用本地 Whisper 转写 + 拼音级评分,把三个听感问题拆成可测量的指标,人只在最后验收一次。

原理:拼音级评分把症状分离

直接对比汉字转写会被同音字污染(池塘→吃堂不是咬字问题,是 ASR 选字)。转成拼音后分两把尺:

无调拼音 CER   = 纯咬字清晰度(同音字不计错)
有调 CER − 无调 CER = 声调/多音字误读残留

desk-pond 实测:问题版无调 CER 34.1%(ASR 都听不懂),修复版 0.8%。声调差把”染上”读成 rán、“任务”读成 rénwù 这类误读精确定位到字。

方法步骤(可照做)

  1. 归因先查官方:咬字含糊/多余杂音 → ElevenLabs 官方 troubleshooting 明确指认 style 过高产生”语速不稳、发音错误、多余杂音”(建议归零),stability 过低产生”含糊、怪异表演”。desk-pond 从 style 0.45/stability 0.38 改到 style 0/stability 0.50,咬字指标直接从 34.1% 修到接近噪声底。
  2. 每段多 take 抽卡(同参数 3 take),ASR 无调 CER 评分自动选优——TTS 输出方差大,选优比调参便宜。
  3. 声调残留分类:落在多音字上且多 take 一致 → 系统性偏差,换稿(见铁律);落在单读音字上 → 不存在”读错多音字”的可能,属 ASR 噪声或语气尾音,不追。
  4. 换稿后同尺复测,声调差应归零(desk-pond 三个问题句:0% / 0% / 3.8%)。
  5. 口水音三重处理:style 归零(除源)→ adeclick(去口点)→ 温和噪声门 agate(threshold -36dB/ratio 2/最多压 ~10dB,压间隙不动语音)。间隙电平实测再降 0.4–4.5dB。
  6. 人只验收一次:以上全部跑完再请创作者听,而不是每改一版听一版。

多音字换稿铁律的新实例

母本规则见 2026-06-09_Remotion全片音频字幕BGM复盘(误读就改写法,不搞注音/SSML,caption=ttsText 同步)。本轮新增三例:

误读换稿
染上(rǎn→rán,3 take 一致)对工作上瘾
一项任务(rèn→rén)做完一件事
只增不减(zhǐ→zhī)、漏了(lòu→lóu)只会变多,不会变少。哪天没来

判据升级:多 take 一致误读 = 模型系统性偏差,继续抽卡无解(同 蒙眼剪辑法_方法论笔记 洞察 5”训练数据盲区绕开不硬怼”的 TTS 版)。

排错与边界(实测踩坑)

落地工程(库外裸路径)

E:\desk-pond\promo\video\scripts\(tts.mjs 多 take 生成 / pick_best.py 选优 / verify_final.py 拼音级终验 / gate_and_measure.py 噪声门+间隙电平)

关联文档

类型/洞察律工具/ElevenLabs工具/Whisper主题/蒙眼剪辑