test+docs: 「对白没读完」教训固化到框架(引擎回归测试 + 审计工具 + 四处文档)
- web/harness/engine-voice.test.mjs:引擎 voice 句尾保真三不变式(I1 源未耗尽不得结算 / I2 耗尽后排空窗才断开 / I3 零消耗走旧路径),可驱动 SPN mock 模拟真实消耗, 15 断言全绿;防止未来重构回潮 - tools/audit_voice_tails.py:voice 资产尾部静默审计工具入库(含判读口径头注: 尾静默紧=裁剪工艺≠剪字,句尾完整性验收在引擎层) - 文档:HANDOVER(§1.4 回归清单 / §5.3 质量手段 / §6 已解决账)、roadmap §4 新增全游戏「句尾完整性」真机听测项、asset-pipeline QC 口径、methodology §5 度量盲区教训(媒体播完类问题转写层无效,必须真人耳测+引擎断言)、 web-engine-api voice 自然结束语义 - 修正:结束判定改用 filter.sourcePosition(SimpleFilter 单调精确计数器); 10 套件全绿(8 playtest + guide + engine-voice)
This commit is contained in:
@@ -33,6 +33,12 @@ flock .gpu.lock .venv-tts/bin/python app/src/escape/gen/gen_voice.py
|
||||
```
|
||||
|
||||
- 每条生成后自动校验:**时长 > 0.3s 且峰值 > 0.05**,不达标直接 assert 失败。
|
||||
- **尾部裁剪与句尾完整性(2026-09 口径)**:管线峰值归一 + 静音尾裁剪很紧,
|
||||
绝大多数 voice 文件尾部静默 <120ms 属预期,**不等于剪字**。「句子是否读完」
|
||||
的验收在引擎层(源消耗位置判定 + 300ms 排空窗,见 `web/engine/audio.js
|
||||
_finishVoice` 与 `web/harness/engine-voice.test.mjs`);资产侧怀疑剪字时用
|
||||
ASR 抽查末字/语气词核对,量化工具 `tools/audit_voice_tails.py`(判读口径
|
||||
见其文件头注)。
|
||||
- 音色分配见各游戏文档(docs/games/*.md):旁白 Uncle_Fu、林晚 Serena、
|
||||
猎狗 Dylan、小满/广播 Vivian;escape 全员 Uncle_Fu 靠 instruct 区分语气。
|
||||
- 已知不稳条目:reflex 的 `num_6`("六"),单独用
|
||||
|
||||
@@ -58,6 +58,9 @@
|
||||
|
||||
通用前置:安卓 Chrome + iOS Safari 各过一遍;戴有线耳机测一轮、蓝牙耳机测一轮(延迟差异);iOS 项注意"无震动"是预期行为。
|
||||
|
||||
**全游戏通用(2026-09 新增,来自真机人耳反馈)**:
|
||||
- [ ] **句尾完整性**:随机抽 10 句长短不一的对白听到自然收尾,末字/语气词(了/吧/呀)不缺失、不被下一句或音效咬尾(引擎已固化排空机制 + `web/harness/engine-voice.test.mjs` 回归;本项验真机实际听感与打断时序)
|
||||
|
||||
### 声命线 storyline
|
||||
- [ ] 旁白切角色音时不出戏(重点:female 旁白 vs 小满/广播的 Vivian 家族)
|
||||
- [ ] 8 个抉择点左/右滑方向与选项播报一致
|
||||
|
||||
Reference in New Issue
Block a user