Files
SoundGame/docs/design/02-simon-voice-ids.md
T
xsl 566241e05d feat(platform/P1): 配对码跨设备 + 认领打磨 + 键盘语音双套资产(两 agent 并行 + 集成收口)
配对码与认领(B):
- POST /api/pair/start|join:6 位码 10 分钟单次有效、仅存内存零泄露面、5 连错 per-IP 封锁 10 分钟;join=新设备档案按桶 LWW 并入老档案+token 改绑(复用 claim-merge);日志脱敏
- 大厅:生成配对码(speechSynthesis 逐位朗读+aria-live+重听)/从其他设备转入(one-time-code 输入框)/从本机移除/401 过期自愈引导/aria 补全/玩家名可听化
- api-smoke 12/12(配对全流程/频控/封锁/过期自愈/移除/digitsToCn)+ CDP 真浏览器 E2E 22/22

键盘语音双套资产(A,路线 a):
- 164 变体句(8 游戏 grep 实测,超出调研预估 153:含轻触/点两下/按住变体)×2 性别=328 生成 656 文件 36.9 分钟;触屏主资产零字节改动(PCM 逐样本比对后还原)
- 引擎 _candidates 三跳路由 key→gender→平铺(inputMode 跟随);缓存键 mode|gender|id;engine-input 新增 K9 路由断言(72 条)
- check_all_assets 增 key 列(两性别一致且 ⊆ 主集)8 游戏全绿;voice_text.json 增 __key__ 表;live control.mjs key 会话对照键盘措辞验收(集成)
- voice-ids 文档:8 游戏键盘变体小节由 KEY_LINES 程序化生成(与台词表逐字断言一致);补齐 storyline/escape/simon 三个历史缺失文档;design README 增 new8 索引
- mock 适配:playtest persona 加 maxTouchPoints=1 保持触屏链断言语义零改动

回归:12 套件全绿(8 playtest + guide 122 + engine-voice 19 + engine-input 72 + api-smoke 12/12)
同批入库:批次 2/3 已完稿设计文档(17-abyss/18-detective/19-cipher 全套,20-22 在途)
2026-09-10 00:43:23 +08:00

53 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 02b · 《音序回响》语音台词表(voice ids)
> 主台词表(78 句,双性别)的唯一事实源是 `tools/gen_voice_dual.py` 的
> `SIMON_LINES`(R2 重设计全文见 [02-simon-redesign.md](02-simon-redesign.md))。
> 本文档登记 P1 键盘变体(输入平权路线 a)——变体只覆盖含操作词的句子,
> id 集合 ⊆ 主表,复用主表同 id 的 instruct/speaker。
---
## 键盘变体(key,P1 输入平权路线 a,28 句)
「生效输入模式=键盘」(settings.input=key,或 auto 且键盘在跟/纯桌面初始判定,
web/engine/gesture.js inputMode())时,引擎 voice 候选链前置加载
`web/simon/audio/voice/<gender>/key/<id>.{ogg,m4a}`,变体缺失回退主资产——触屏措辞零改动。
>
> 措辞规范(02-input-parity.md §4.3 路线 a + P1 裁定):向左滑→按左方向键(四向同理,
> WASD 不进台词);单击/轻触屏幕→按空格;双击→按回车;按住/长按→按住空格;
> 复合短语(左右滑→左右方向键、滑动→方向键)按语义等价展开;只改操作词,其余
> 内容一字不动,不新增「重」类多音字。本表与 `tools/gen_voice_dual.py` 的
> `KEY_LINES` 逐字一致(两表一致铁律:改一处必改另一处)。
> 资产:×2 性别 = 28×2 条、×2 格式 = 28×4 文件;管线 `gen_voice_dual.py --only-variants`
> 生成 → `--convert` 落盘,终检 `tools/check_all_assets.py`(key 两性别一致且 ⊆ 主集)。
| id | 键盘台词全文(触屏原句见本表上方对应 id) |
|---|---|
| `t1_up` | 按上方向键,是这个声音。 |
| `t2_down` | 按下方向键,是这个声音。 |
| `t3_left` | 按左方向键,是这个声音。 |
| `t4_right` | 按右方向键,是这个声音。 |
| `t5_tap` | 按空格,是这个声音。 |
| `t6_double` | 按回车,是这个声音。 |
| `t_wrong_up` | 不是这个,按上方向键试试。 |
| `t_wrong_down` | 不是这个,按下方向键试试。 |
| `t_wrong_left` | 不是这个,按左方向键试试。 |
| `t_wrong_right` | 不是这个,按右方向键试试。 |
| `t_wrong_tap` | 不是这个,按空格试试。 |
| `t_wrong_double` | 不是这个,按回车试试。 |
| `t_blunt_up` | 按一下上方向键。 |
| `t_blunt_down` | 按一下下方向键。 |
| `t_blunt_left` | 按一下左方向键。 |
| `t_blunt_right` | 按一下右方向键。 |
| `t_blunt_tap` | 轻轻按一下空格。 |
| `t_blunt_double` | 按一下回车。 |
| `t7_retry` | 答错可以消耗机会重听。按上方向键,可以随时重听。 |
| `replay` | 按空格,再来一局。 |
| `rules_prompt` | 按上方向键,重听规则。按下方向键,打开菜单。 |
| `rules` | 上行音,按上方向键。下行音,按下方向键。左边的音,按左方向键。右边的音,按右方向键。一声轻响,按空格。两声轻响,按回车。 |
| `skip_hint` | 按空格可跳过旁白。 |
| `gd_relisten` | 需要的话,按上方向键可以重新听一遍序列。 |
| `gd_economy` | 记不住就按上方向键,重新听一遍。免费机会有两次,用完要扣一次机会。 |
| `gd_occ_up` | 这一轮,按上方向键是作答。 |
| `gd_occ_dt` | 这一轮,按回车是作答。 |
| `gd_occ_both` | 这一轮,按上方向键和回车都是作答。 |