Files
SoundGame/docs/design/24-rhythm-voice-ids.md
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

180 lines
10 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.
# 24a · 《节拍行者》鼓手模式语音台词表(voice ids,施工录音依据)
> **26 号对齐(资产清单,不是交互宪法)**
> - 交互与新手手势以 [26-audio-interaction-playbook.md](26-audio-interaction-playbook.md) 和对应游戏正文为准;本作深度改造设计单见 [26-apply-rhythm.md](26-apply-rhythm.md)。
> - 本表是 TTS id 事实源的**登记副本**(生成以 `tools/gen_voice_dual.py` 为准;26 号改造替换稿见 `tools/voice_lines_26/rhythm.md`:新增 32 / 修改 7 / 删除 5 / 键盘变体 22)。
> - 写作:指令 ≤12 字,短句档 ≤6 字,叙事 ≤25 字,状态查询 ≤20 字;每句标 `critical` / `content` / `hint` / `feedback`。游戏主动提示不得原样重复(30s 台账);主动重听前加「再说一遍:」。
> - 键盘变体:新手期回车当空格(单击)。删除「按回车=重听/确认」类旧口径,阶段 3 解锁双击后才按回车重听。
> - 通用系统句与 storyline 文案逐字一致(sys_first_tap / sys_turn_teach / sys_say_again / sys_unlock_*)。多音字:「重听」一律作「重新听」。
> 双性别:male=Uncle_Fu / female=Vivian(gen_voice_dual.py SPEAKERS 沿用)。
> instruct 对:「低沉醇厚的男声,像节奏游戏主持人,平稳有力」/「活力清晰的
> 年轻女声,像节奏游戏主持人,情绪饱满但不夸张」——全表同一常量 `_RHY`。
> 汇总:主表 68 句(沿用 29 + 修改 7 + 新增 32)+ 向导层沿用 9 句(gd_*,已在库
> 不重录)= 77 句双性别。本轮删除:welcome / tut_map / tut_skip / skip_hint /
> settings_hint(旧手势时代遗产,convert 后删音频)。
## 新增 · 系统层(7 句)
| id | 文案 | 类别 |
|---|---|---|
| sys_first_tap | 点一下屏幕。 | critical |
| sys_first_tap_short | 点一下。 | hint |
| sys_turn_teach | 听到这个声音,就是轮到你了。 | content |
| sys_say_again | 再说一遍: | hint |
| sys_unlock_up | 想知道自己在哪,就向上滑。 | content |
| sys_unlock_down | 向下滑,可以打开菜单。 | content |
| sys_unlock_dt | 没听清,就双击,再听一遍。 | content |
## 新增 · 等待点三档提示(5 句)
| id | 文案 | 类别 |
|---|---|---|
| select_full | 单击,开始。 | hint |
| select_short | 单击。 | hint |
| settle_full | 单击,再来一遍。 | hint |
| settle_short | 单击。 | hint |
| menu_help | 左右滑换项,单击确认。 | hint |
## 新增 · 教学跟打等待点与肯定(7 句)
| id | 文案 | 类别 |
|---|---|---|
| tut_kick_full | 家区在下中。点一下。 | hint |
| tut_kick_short | 点下中。 | hint |
| tut_sides_full | 左下,再右下。 | hint |
| tut_sides_short | 左右下。 | hint |
| tut_top_full | 上排三个,挨个敲。 | hint |
| tut_top_short | 跟上排。 | hint |
| tut_ok | 对了。 | feedback |
## 新增 · 状态查询与无效解释、断点复述(13 句)
| id | 文案 | 类别 |
|---|---|---|
| st_p1a | 《启程》,前半段。 | hint |
| st_p1b | 《启程》,后半段。 | hint |
| st_p2a | 《追风》,前半段。 | hint |
| st_p2b | 《追风》,后半段。 | hint |
| st_p3a | 《星爆》,前半段。 | hint |
| st_p3b | 《星爆》,后半段。 | hint |
| st_c1 | 连上了,跟着敲。 | hint |
| st_c2 | 连击正顺,保持。 | hint |
| st_c3 | 连击如虹,稳住。 | hint |
| inv_generic | 这个操作用不上。 | feedback |
| inv_down_locked | 菜单,玩完一局解锁。 | feedback |
| inv_up_locked | 上滑还没解锁。 | feedback |
| sys_continue_ask | 上次的曲子没打完。单击继续,右滑重选。 | content |
## W 组 · 开场与流程(沿用 2 + 修改 0;welcome/tut_skip 删除)
| id | 文案 | 状态 |
|---|---|---|
| welcome_back | 欢迎回来,鼓手。准备好了就开始。 | 沿用 |
| tut_done | 很好,演出开始。 | 沿用 |
| ~~welcome~~ | ~~欢迎来到节拍行者。今天你是乐队的鼓手,整面屏幕都是你的鼓。~~ | **删除**(开场长句废止 → sys_first_tap 首句即动手,§4.10 反模式 6) |
| ~~tut_skip~~ | ~~跳过教学,直接开始。~~ | **删除**(新手期无下滑跳教学;3 败自动跳步) |
| mid_song | 过半了,保持。 | 沿用 |
## Z 组 · 分区教学与区名(修改 3 + 沿用 8;tut_map 删除)
| id | 文案 | 状态 |
|---|---|---|
| ~~tut_map~~ | ~~先认识你的鼓。屏幕横着分三列……~~ | **删除**(纯规则说明废止;区名自带教学) |
| tut_probe | 摸到三个不同的地方,我们就开始。 | 沿用 |
| tut_z_kick | 听我敲下中,你跟着敲。 | **修改**(旧「下面正中间,是底鼓,你的家。先听四下数拍,然后跟着我敲。」超 12 字;critical) |
| tut_z_sides | 左下和右下,跟着敲。 | **修改**(旧「左下是军鼓,右下是低嗵。一左一右,跟着打。」;critical) |
| tut_z_patt | 上排三个音,跟着敲。 | **修改**(旧「上面一排更清亮。左上踩镲,上中高嗵,右上吊镲。听这一句,三个音。」;乐器名由区名自带;critical) |
| tut_fill | 最后有一段加花,跟着我连打。 | 沿用 |
| zone_tl / zone_tc / zone_tr | 左上,踩镲。/ 上中,高嗵。/ 右上,吊镲。 | 沿用 |
| zone_bl / zone_bc / zone_br | 左下,军鼓。/ 下中,底鼓。/ 右下,低嗵。 | 沿用 |
## C 组 · 教学纠正(沿用 5)
| id | 文案 |
|---|---|
| retry_early | 早了,等鼓点再出手。 |
| retry_late | 晚了,跟着鼓点走。 |
| retry_wrong | 敲错鼓了,再听一遍。 |
| retry_listen | 再听一遍,跟着来。 |
| retry_skip | 没关系,我们先走下一句。 |
## S 组 · 选曲与解锁(修改 1 + 沿用 6)
| id | 文案 | 状态 |
|---|---|---|
| select_hint | 左右滑选歌,单击开始。 | **修改**(旧含「下滑回大厅」——新手期下滑未解锁,不预告;content) |
| song1_name / song2_name / song3_name | 第一首,启程,九十拍。/ 第二首,追风,一百零五拍。/ 第三首,星爆,一百二十拍。 | 沿用 |
| song_locked | 这首还没解锁。上一首拿到 B 级以上就能解锁。 | 沿用 |
| unlock_song2 / unlock_song3 | 新曲目解锁,追风!/ 新曲目解锁,星爆! | 沿用 |
## G 组 · 结算(修改 1 + 沿用 5)
| id | 文案 | 状态 |
|---|---|---|
| grade_s / grade_a / grade_b / grade_c | S 级!准确率超过九成五,完美演出。/ A 级!……/ B 级,……/ C 级,…… | 沿用 |
| new_best_combo | 新连击纪录! | 沿用 |
| restart | 单击,再来一遍。右滑,下一首。 | **修改**(旧含「下滑回大厅」;交出选择句式;critical 承诺段) |
## M 组 · 菜单与规则(修改 2 + 沿用 2;skip_hint/settings_hint 删除)
| id | 文案 | 状态 |
|---|---|---|
| rules | 我敲一小节,你照着敲。 | **修改**(旧 27 字规则句 → 帮助一句 ≤12 字;hint) |
| menu_main | 菜单。左右滑换项,单击确认。 | **修改**(旧「单击切换选项,双击确认」——双击确认废止,00 号 §5.4;content) |
| menu_resume | 继续演奏。 | 沿用 |
| menu_lobby | 回大厅。 | 沿用 |
| ~~skip_hint~~ | ~~单击可跳过旁白。~~ | **删除**(26 号管道自动回执,不再预告) |
| ~~settings_hint~~ | ~~音色、语速、背景音乐,请回大厅修改。~~ | **删除**(菜单上滑帮助组合废止;设置只在大厅改) |
## 向导层沿用(9 句,已在库,不重录不重转)
gd_answer「现在跟着我打。」/ gd_miss「慢了半拍,下一小节跟上我就行。」/
gd_miss_early「抢拍了。等声音落下再滑。」/ gd_miss_late「慢了半拍。跟着节拍走。」/
gd_miss_wrong「方向不对。跟着音色滑。」/ gd_miss_none「这拍没接。我停下的时候,就轮到你了。」/
gd_slow「我放慢一些,跟着试试。」/ gd_count「四拍之后,继续。」
(gd_miss_early/late/wrong 的「滑」字文案在 24 号玩法下语义仍通——纠正语
不点名手势;如需改口文案按「重教≤2」流程另行裁定,不在本轮。)
## 键盘变体(key,22 句全量替换稿)
| id | key 文案 |
|---|---|
| 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 / settle_full | 按空格,开始。/ 按空格,再来一遍。 |
| select_short / 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_*)触屏/键盘通用,不设变体。
> key 变体为**补充合成**(`--only-variants` 单独跑),主表同 id 文案照常重录。
## 录制说明
- gen_voice_dual.py RHYTHM_LINES 段全量替换为本表(68 句);KEY_LINES rhythm
段替换为本表 key 变体(22 句)。逐句全文见 `tools/voice_lines_26/rhythm.md`。
- 生成:`.venv-tts/bin/python tools/gen_voice_dual.py --game rhythm --gender both`
(flock .gpu.lock);检查 `--check`;转码 `--convert`。
- convert 后删除废弃 id 音频:welcome / tut_map / tut_skip / skip_hint /
settings_hint(male/female 及 key 变体,共 10 id×2 格式)。
- web/harness/voice_text.json 的 rhythm 主表与 `__key__` 变体表同步本台词
(转写时长估算与 ASR 判定用)。