Files
xsl ee5d4d2544 feat(playbook): 26 号交互手册全量落地——剩余 12 款深度重构 + 语音全量重制
storyline/escape/simon 首批之后的推广收官:15 款全部按 26 号模式运行
(发言权/回执/三档提示/迷茫接管/手势阶梯/断点复述),旧「双击重听/格挡/
菜单确认」等反模式口径全线废除,开场零规则念白(首句即动手)。

游戏层(12 款):rpg(格挡=前摇窗口内再单击)/ rhythm / space / radio /
dungeon / abyss / detective / cipher / teahouse / keeper / bridge /
hunt(联机切片):
- 每款 game.js 接引擎六模块 + makeInputPipeline(doubleTapWindow:0);
  四向玩法类 swipeCore + 长按帮助;双击是玩法的(space 护盾 / hunt
  旋风斩)按手势阶梯阶段 3 分档恢复双击窗口(doubletapCore)
- 每款 playtest 重写:玩法断言 + §6.2 乱点机器人(无声操作 / 被动
  原句重复 / 打断失败 = 0);15 款 3900+ 断言全绿
- 12 份 docs/design/26-apply-*.md 施工单 + tools/voice_lines_26/
  台词清单 + voice-ids 文档同步 + 转写会话剧本按新口径重写

引擎层(web/engine/,6 处修复):pipeline 增 doubletapCore;novice
teachLine 带 voice/ 前缀(此前教学句被静默丢弃);confusion.record
前置到新手门(锁定手势的乱点也计信号);InvalidHints 播完恢复解释前
状态(根治孤儿 BUSY);WaitPoint takeover(2) 台账去重;台账只在
speak 真正播出时登记。遗留引擎债登记 roadmap §3.1。

语音资产:台词表合并(新增 ~250 系统句 / 改 ~50 旧口径 / 删 ~110
废止句;合并器 tools/merge_voice_lines_26.py + 引用校验器
tools/validate_voice_refs.py),GPU 重录 1536 wav → 4204 ogg/m4a
落地,check_all_assets + validate_voice_refs 双绿;键盘变体同步扩表。

大厅/文档:15 款统一新交互口径(「新交互」徽标退役);README /
HANDOVER / rpg README 旧口径修正;roadmap P0-P3 置完成。
2026-10-02 12:33:20 +08:00

136 lines
9.4 KiB
Markdown
Raw Permalink 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.
# 《节拍行者》26 号重构台词清单(rhythm)
> 生成依据:`tools/gen_voice_dual.py` RHYTHM_LINES 段(变量名 `_RHY`,全表同一 instruct
> 常量)。本清单为 RHYTHM_LINES 的**全量替换稿**:新增 / 修改 / 删除 / 键盘变体四节。
> 交互与写作规范:[26-audio-interaction-playbook.md](../../docs/design/26-audio-interaction-playbook.md);
> 设计单 [26-apply-rhythm.md](../../docs/design/26-apply-rhythm.md);登记副本同步
> [24-rhythm-voice-ids.md](../../docs/design/24-rhythm-voice-ids.md)。
>
> 写作检查:指令 ≤12 字;`_short` ≤6 字;叙事 ≤25 字;状态查询 ≤20 字;肯定 ≤4 字;
> 每句标类别(critical / content / hint / feedback);「重听」一律作「重新听」(多音字);
> 通用系统句与 storyline 文案逐字一致(sys_first_tap / sys_turn_teach / sys_say_again /
> sys_unlock_* 三句)。
>
> 双性别:male=Uncle_Fu / female=Vivian;instruct 沿用 `_RHY`
> (「低沉醇厚的男声,像节奏游戏主持人,平稳有力」/「活力清晰的年轻女声,像节奏游戏
> 主持人,情绪饱满但不夸张」)。向导层 9 句 gd_* 已在库沿用不重录(不在本表)。
## 1. 新增(32 句)
```python
RHYTHM_LINES += [
# ---- 系统层(26 号:开场/状态教学/重听前缀/阶梯,文案与 storyline 一致)----
("sys_first_tap", _RHY, "点一下屏幕。"), # critical
("sys_first_tap_short", _RHY, "点一下。"), # hint
("sys_turn_teach", _RHY, "听到这个声音,就是轮到你了。"), # content
("sys_say_again", _RHY, "再说一遍:"), # hint
("sys_unlock_up", _RHY, "想知道自己在哪,就向上滑。"), # content
("sys_unlock_down", _RHY, "向下滑,可以打开菜单。"), # content
("sys_unlock_dt", _RHY, "没听清,就双击,再听一遍。"), # content
# ---- 等待点三档提示(§4.4:full / short 两档)----
("select_full", _RHY, "单击,开始。"), # hint
("select_short", _RHY, "单击。"), # hint
("settle_full", _RHY, "单击,再来一遍。"), # hint
("settle_short", _RHY, "单击。"), # hint
("menu_help", _RHY, "左右滑换项,单击确认。"), # hint
# ---- 教学跟打等待点三档提示(24 号 §0.5)----
("tut_kick_full", _RHY, "家区在下中。点一下。"), # hint
("tut_kick_short", _RHY, "点下中。"), # hint
("tut_sides_full", _RHY, "左下,再右下。"), # hint
("tut_sides_short", _RHY, "左右下。"), # hint
("tut_top_full", _RHY, "上排三个,挨个敲。"), # hint
("tut_top_short", _RHY, "跟上排。"), # hint
# ---- 教学肯定(原则 11:≤4 字,做完马上肯定)----
("tut_ok", _RHY, "对了。"), # feedback
# ---- 长按/上滑状态查询(原则 3:一句话 ≤20 字,整句预生成不拼接)----
("st_p1a", _RHY, "《启程》,前半段。"), # hint
("st_p1b", _RHY, "《启程》,后半段。"), # hint
("st_p2a", _RHY, "《追风》,前半段。"), # hint
("st_p2b", _RHY, "《追风》,后半段。"), # hint
("st_p3a", _RHY, "《星爆》,前半段。"), # hint
("st_p3b", _RHY, "《星爆》,后半段。"), # hint
("st_c1", _RHY, "连上了,跟着敲。"), # hint
("st_c2", _RHY, "连击正顺,保持。"), # hint
("st_c3", _RHY, "连击如虹,稳住。"), # hint
# ---- 无效操作解释(原则 7:每「状态×手势」一次)----
("inv_generic", _RHY, "这个操作用不上。"), # feedback
("inv_down_locked", _RHY, "菜单,玩完一局解锁。"), # feedback
("inv_up_locked", _RHY, "上滑还没解锁。"), # feedback
# ---- 断点复述(§4.12)----
("sys_continue_ask", _RHY, "上次的曲子没打完。单击继续,右滑重选。"), # content
]
```
## 2. 修改(7 句;旧文案废止口径见 §3 与 24 号正文)
```python
# 旧 → 新(整句替换,id 不变)
("tut_z_kick", _RHY, "听我敲下中,你跟着敲。"), # 旧「下面正中间,是底鼓,你的家。先听四下数拍,然后跟着我敲。」——指令 >12 字,双轴讲解拆给区名;critical
("tut_z_sides", _RHY, "左下和右下,跟着敲。"), # 旧「左下是军鼓,右下是低嗵。一左一右,跟着打。」——同上;critical
("tut_z_patt", _RHY, "上排三个音,跟着敲。"), # 旧「上面一排更清亮。左上踩镲,上中高嗵,右上吊镲。听这一句,三个音。」——乐器名由区名 zone_* 自带;critical
("select_hint", _RHY, "左右滑选歌,单击开始。"), # 旧「左右滑选曲目,单击开始,下滑回大厅。」——新手期下滑未解锁,不预告下滑;content
("restart", _RHY, "单击,再来一遍。右滑,下一首。"), # 旧「单击再来一遍,右滑下一首,下滑回大厅。」——同上(交出选择句式);critical
("rules", _RHY, "我敲一小节,你照着敲。"), # 旧「规则:我敲一小节鼓,你在下一小节照着敲回来。鼓要选对,拍点也要对。」——帮助一句 ≤12 字;hint
("menu_main", _RHY, "菜单。左右滑换项,单击确认。"), # 旧「菜单。单击切换选项,双击确认。」——双击确认废止(00 号 §5.4);content
```
## 3. 删除(5 句;音频随本轮 convert 后删除)
```python
# id:废止原因
("welcome",) # 旧开场长句(纯规则说明,§4.10 反模式 6)→ sys_first_tap 首句即动手
("tut_map",) # 双轴模型长讲解 → 区名 zone_* 自带教学(做中学)
("tut_skip",) # 新手期无下滑跳教学路径(下滑阶段 2 才解锁);卡死保护改 3 败自动跳步
("skip_hint",) # 「单击可跳过旁白。」——26 号管道自动回执,不再预告
("settings_hint",) # 菜单上滑帮助组合废止;设置只在大厅改(00 号 §1.2)
```
## 4. 键盘变体(22 句;KEY_LINES["rhythm"] 全量替换稿)
> 规则同 KEY_LINES["storyline"]:向左滑→按左方向键(四向同理);单击→按空格;
> 双击→按回车;敲鼓另有数字键一至六(本作键盘平权通道)。只改操作词,其余一字不动。
```python
KEY_LINES["rhythm"] = [
("sys_first_tap", "按空格敲鼓。"),
("tut_z_kick", "听我敲数字五,你跟着敲。"),
("tut_z_sides", "数字四和六,跟着敲。"),
("tut_z_patt", "数字一、二、三,跟着敲。"),
("tut_kick_full", "家区是数字五。按一下。"),
("tut_kick_short", "按五。"),
("tut_sides_full", "数字四,再数字六。"),
("tut_sides_short", "按四六。"),
("tut_top_full", "上排,按一、二、三。"),
("tut_top_short", "按上排。"),
("select_hint", "左右方向键选歌,按空格开始。"),
("select_full", "按空格,开始。"),
("select_short", "按空格。"),
("settle_full", "按空格,再来一遍。"),
("settle_short", "按空格。"),
("restart", "按空格,再来一遍。右方向键,下一首。"),
("menu_main", "菜单。左右方向键换项,按空格确认。"),
("menu_help", "左右方向键换项,按空格确认。"),
("sys_unlock_up", "想知道自己在哪,就按上方向键。"),
("sys_unlock_down", "按下方向键,可以打开菜单。"),
("sys_unlock_dt", "没听清,就按回车,再听一遍。"),
("sys_continue_ask", "上次的曲子没打完。按空格继续,右方向键重选。"),
]
```
> 沿用不重录:tut_probe 键盘变体「按出三个不同的键,我们就开始。」(文案未变);
> 其余无操作词主资产(zone_* / retry_* / grade_* / song*_name / st_* / tut_ok /
> sys_turn_teach / sys_say_again / inv_* / mid_song / tut_fill / menu_resume /
> menu_lobby / welcome_back / new_best_combo / song_locked / unlock_song2/3 /
> tut_done / gd_*)触屏/键盘通用,不设变体。
## 生成与验收口径
- 汇总表 = 沿用 29 + 修改 7 + 新增 32 = 68 句主表(双性别 136 条),另向导层 gd_* 9 句沿用;
键盘变体 22 句。
- 生成:`.venv-tts/bin/python tools/gen_voice_dual.py --game rhythm --gender both`
(flock .gpu.lock);检查 `--check`;转码 `--convert`;`--only-variants` 单独补键盘变体。
- convert 后删除废止 id 音频:welcome / tut_map / tut_skip / skip_hint / settings_hint
(male/female 及 key 变体共 10 文件×2 格式)。
- web/harness/voice_text.json 的 rhythm 主表与 `__key__` 变体表同步本台词
(转写时长估算与 ASR 判定用)。