Files
SoundGame/docs/design/05-rpg-ch1-voice-ids.md
T
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

18 KiB
Raw Blame History

05b · 《剑与声》第一章语音台词表(voice ids,R4 录音依据)

26 号对齐(资产清单,不是交互宪法)

  • 交互与新手手势以 26-audio-interaction-playbook.md 和对应游戏正文为准。
  • 本表仍是 TTS id 事实源的登记副本(生成以 tools/gen_voice_dual.py 为准)。含「双击重听 / 双击使用 / 双击格挡 / 单击循环菜单」的句子 停用或按游戏正文重录。
  • 写作:指令 ≤12 字,短句档 ≤6 字,叙事 ≤25 字;每句标 critical / content / hint / feedback。游戏主动提示不得原样重复;重听前加「再说一遍:」。
  • 键盘变体:新手期回车当空格(单击)。删除「按回车=重听」类旧口径,或仅在阶段 3 解锁双击后启用。
  • 共用新句见 14-guide-layer.md §7(sys_first_tap 等)。各游戏 _full / _short 在游戏正文设计单里点名,补进本表后再进生成脚本。

给音频总监的录制说明

  • 旁白(A/S/D/O/E/B/SH 组,104 句):双性别。female = Serena,male = Uncle_Fu(新游戏,沿用 R1 分配惯例)。落 web/rpg/audio/voice/female|male/<id>.{ogg,m4a}。
    • female instruct 常量:平静清晰的年轻女声,像在讲武侠故事
    • male instruct 常量:低沉醇厚的男声,像说书人,平静有韵味
  • NPC(N 组,16 句):单音色、不做双性别,平铺落 web/rpg/audio/voice/<id>.{ogg,m4a}(引擎平铺回退命中,同 storyline 角色台词模式)。同一角色 speaker+instruct 恒定:
    • 村长:Uncle_Fu + 慈祥和缓的老者
    • 老猎人:Eric + 沙哑粗犷,豪爽中带着暖意
    • 寨丁头目:Dylan + 凶狠粗鲁,大声喝骂
    • 黑风寨主:Uncle_Fu + 低沉阴狠,慢条斯理(与村长同 speaker 不同 instruct,参照 storyline 先例;两者从不在同场景出现,请试听确认区分度)
  • 主角沈听澜无台词:旁白第二人称("你")叙述,省一套主角音色。
  • 数字规避:等级/血量/金币全部分档整句;价格写死在商店句里;无运行时拼接。
  • 管线:tools/gen_voice_dual.py 照录;多音字已规避("重听"写作"重新听")。

A 组 · 序章(旁白 ×3)

id 台词全文
intro_1 你的眼睛看不见了。但你的耳朵,比谁都灵。
intro_2 黑风寨掳走了你唯一的徒弟。追进迷雾林,把他们连根拔起。
intro_3 先记住,怎么用耳朵走路。(停用:26 号 §4.10 砍开场规则念白,开场第一句改为 sys_first_tap)

S 组 · 系统/菜单/状态(旁白 ×28)

id 台词全文 触发
sys_continue_ask 检测到你的旅程记录。单击继续,右滑开始新的旅程。 有存档进游戏
sys_new_game 新的旅程,开始了。 新游戏
sys_saved 进度已保存。 存档写入后
sys_rest 你在篝火边睡了一觉,状态全满。 village 休息
sys_drink 溪水清冽,你喝了个饱,伤势尽消。 stream 饮水
sys_menu 菜单。左右滑选择,单击确认。 下滑呼出
sys_menu_resume 继续旅程。 菜单项
sys_menu_save 保存并回大厅。 菜单项
sys_menu_help 重新听帮助。 菜单项
help_explore 左右滑选,单击确认。上滑看状态,下滑开菜单。(26 号修改稿:删「双击重新听」) 帮助
help_battle 战斗中,左右滑选招,单击出手。前摇一响,点一下挡住。(26 号修改稿:格挡=窗口内再单击) 帮助
settings_hint 音色、语速、背景音乐,请回大厅修改。 菜单内
st_hp_high 你状态很好。 血量 >70%
st_hp_mid 你受了伤。 30~70%
st_hp_low 你伤势很重,命悬一线。 <30%(附带 warning 震动)
st_gold_poor 口袋空空。 金币 <30
st_gold_some 有些积蓄。 30~150
st_gold_rich 腰包鼓鼓。 >150
st_lv_low 你初出茅庐。 lv 1-2
st_lv_mid 你小有名气。 lv 3-5
st_lv_high 你已是高手。 lv 6+
st_weapon_none 你赤手空拳。 无武器
st_weapon_iron 你手持铁剑。 iron_sword
st_weapon_steel 你手持青钢剑。 steel_sword
st_weapon_wind 你手持听风剑。 wind_sword
st_armor_none 你身无片甲。 无护甲
st_armor_leather 你身着皮甲。 leather
st_armor_iron 你身着铁鳞甲。 iron_scale
sys_first_tap 点一下屏幕。 新增(critical 开场指令,与 storyline 通用句一致)
sys_first_tap_short 点一下。 新增(开场等待点短句/首次无效解释)
sys_turn_teach 听到这个声音,就是轮到你了。 新增(「轮到你」状态课,链尾)
sys_say_again 再说一遍: 新增(主动重听前缀,阶段 3)
sys_unlock_up 想知道自己在哪,就向上滑。 新增(阶梯阶段 1,教学战胜利挂链尾)
sys_unlock_down 向下滑,可以打开菜单。 新增(阶梯阶段 2,第一章通关挂链尾)
sys_unlock_dt 没听清,就双击,再听一遍。 新增(阶梯阶段 3)
sys_demo_continue 听我做一次。 新增(迷茫 L3 演示引导)
hint_explore_short 滑一下。 新增(探索等待点 _short)
only_explore 现在,只要左右滑。 新增(迷茫 L2 缩小说明)
hint_shop_full 单击,买下。 新增(商店等待点 _full)
hint_shop_short 单击。 新增(商店等待点 _short)
hint_cmd_short 单击出手。 新增(玩家回合 _short)
hint_swipe_short 滑一下。 新增(教学 T0 _short)
tut_def_short 选防御。 新增(教学 T3 _short)
inv_up_locked 上滑还没解锁。先去战斗。 新增(无效解释一次)
inv_down_locked 菜单,通关第一章解锁。 新增(无效解释一次)
st_where_1 村外小路。去黑风寨。左右滑。 新增(断点复述 zone1:village/path)
st_where_2 林子深处。去黑风寨。左右滑。 新增(断点复述 zone2:fork/chest/stream/hunter)
st_where_3 黑风寨。救徒弟。左右滑。 新增(断点复述 zone3:deepwood/gate/boss1)

D 组 · 场景描述(旁白 ×16)

id 台词全文
desc_village 雾口村。篝火噼啪作响,村民低声议论着林子里的土匪。
desc_village_re 你回到了雾口村。
desc_path 林间小路。风穿过树叶,脚下的落叶沙沙作响。
desc_path_re 你回到林间小路。
desc_fork 岔路口。风声在左右两边,听起来不太一样。
desc_fork_re 你回到岔路口。
desc_chest 一个枯树洞。洞里似乎藏着什么。
desc_chest_re 你回到枯树洞前。
desc_stream 溪流。水声潺潺,是个歇脚的好地方。
desc_stream_re 你回到溪流边。
desc_hunter 猎人小屋。柴火正旺,还有磨刀的声音。
desc_hunter_re 你回到猎人小屋。
desc_deepwood 密林深处。虫鸣急促,远处有狼嚎,杀气很重。
desc_deepwood_re 你回到密林深处。
desc_gate 黑风寨门前。火把熊熊,人声嘈杂。
desc_hall 聚义厅。火盆熊熊,大厅空旷,回声冰冷。

O 组 · 选项名(旁白 ×18)

id 台词全文
opt_go_path 前进,去林间小路。
opt_go_fork 前进,去岔路口。
opt_go_chest 往左,看看树洞。
opt_go_stream 往右,去溪流。
opt_go_hunter 前进,去猎人小屋。
opt_go_deepwood 前进,进密林深处。
opt_go_gate 前进,去寨门。
opt_back 返回。
opt_shop 去商店。
opt_rest 休息一晚。
opt_status 查看状态。
opt_investigate 调查四周。
opt_open_chest 打开树洞。
opt_drink 饮水休息。
opt_talk_hunter 和老猎人谈谈。
opt_assault 强攻寨门。
opt_sneak 绕行潜入。
opt_leave 离开。

E 组 · 事件(旁白 ×6)

id 台词全文
evt_gold15 你在落叶下摸到十五枚金币。
evt_nothing 这里什么都没有了。
evt_chest 树洞里有两瓶金疮药,你收好了。
evt_hunter_gift 老猎人塞给你一瓶金疮药,还说商店会给你算便宜些。
evt_gate_open 寨门缓缓打开。
evt_ch1_end 寨主倒了,但徒弟不在这里。一张字条,指向南方的腐沼。

B 组 · 战斗(旁白 ×26)

id 台词全文 触发
btl_start_wolf 野狼拦路! 遭遇狼
btl_start_bandit 山贼围上来了! 遭遇山贼
btl_start_spider 毒蛛从树上垂了下来! 遭遇毒蛛
btl_start_elite 寨丁头目挡住了去路! 遭遇头目
btl_start_boss1 黑风寨主,就在你面前。 Boss 战
cmd_attack 攻击。 指令
cmd_skill 破空斩。 指令
cmd_defend 防御。 指令
cmd_item 金疮药。 指令
btl_nomp 内劲不足。 mp<3 选技能
btl_noitem 没有金疮药了。 无药选道具
btl_flee 你抽身退出了战斗。 逃跑成功
btl_noflee 避无可避! Boss/剧情战逃跑
btl_enemy_die 敌人倒下了。 击杀
btl_win 战斗胜利。 胜利
btl_loot_small 小有收获。 战利 exp+gold <15
btl_loot_mid 收获不少。 15~40
btl_loot_big 大获全胜,收获颇丰。 >40
btl_levelup 你的修为精进了。 升级(success 震动)
btl_lose 你倒下了,黑暗吞没了一切。 战败
btl_lose_hint 记住,听清前摇,点一下格挡。(26 号修改稿:格挡=窗口内再单击) 战败提示
tut_b1 它要扑了,听前摇! 教学战
tut_b2 就是现在,点一下挡住。(26 号修改稿,critical ≤3s) 教学战
tut_b3 选攻击,单击出剑。(26 号修改稿:T1 攻击课) 教学战
tut_b4 没挡住也没关系,再来一次。 教学战格挡失败
tut_b5 好剑法!接下来,靠你自己了。 教学战结束

SH 组 · 商店(旁白 ×7)

id 台词全文
shop_open 商店。左右滑看看货,单击购买。
shop_price_sword 铁剑,一百金。
shop_price_armor 皮甲,八十金。
shop_price_potion 金疮药,三十金。
shop_owned 这件你已经有了。
shop_poor 钱不够。
shop_buy 买下了。

N 组 · NPC(单音色平铺 ×16)

id 角色 台词全文
npc_headman_1 村长 外乡人,林子里不太平。这五十金,拿着防身。
npc_headman_2 村长 商店就在村里,缺什么就去看看。
npc_headman_3 村长 听说你是用耳朵走路的剑客?保重啊。
npc_headman_4 村长 救救那些被掳走的孩子吧。
npc_hunter_1 老猎人 站住。……哦,是个用耳朵的。
npc_hunter_2 老猎人 寨子里有我旧识。带上这个,别死在路上。
npc_hunter_3 老猎人 黑风寨主的双刀很快,听清他出刀前的动静。
npc_hunter_4 老猎人 去吧。让我听听,你的传说。
npc_elite_1 寨丁头目 哪儿来的瞎子,敢闯黑风寨!
npc_elite_half 寨丁头目 你……你到底是什么人!
npc_elite_die 寨丁头目 寨主……会替我报仇……
npc_boss1_1 黑风寨主 盲剑客?正好,省得挖你的眼睛。
npc_boss1_2 黑风寨主 有两下子。可惜,你听不懂死期的声音。
npc_boss1_die 黑风寨主 白无瞳……会找到你……

合计:旁白 104 句 × 2 性别 + NPC 16 句 = 224 条音频(×2 格式 = 448 文件)。对话功能与语气大纲对照见 05-rpg.md §5.3,场景/战斗触发逻辑见 05-rpg-chapter1.md。

键盘变体(key,P1 输入平权路线 a,16 句)

「生效输入模式=键盘」(settings.input=key,或 auto 且键盘在跟/纯桌面初始判定, web/engine/gesture.js inputMode())时,引擎 voice 候选链前置加载 web/rpg/audio/voice/<gender>/key/<id>.{ogg,m4a},变体缺失回退主资产——触屏措辞零改动。

措辞规范(02-input-parity.md §4.3 路线 a + P1 裁定):向左滑→按左方向键(四向同理, WASD 不进台词);单击/轻触屏幕→按空格;双击→按回车;按住/长按→按住空格; 复合短语(左右滑→左右方向键、滑动→方向键)按语义等价展开;只改操作词,其余 内容一字不动,不新增「重」类多音字。本表与 tools/gen_voice_dual.py 的 KEY_LINES 逐字一致(两表一致铁律:改一处必改另一处)。 资产:×2 性别 = 16×2 条、×2 格式 = 16×4 文件;管线 gen_voice_dual.py --only-variants 生成 → --convert 落盘,终检 tools/check_all_assets.py(key 两性别一致且 ⊆ 主集)。

id 键盘台词全文(触屏原句见本表上方对应 id)
sys_continue_ask 检测到你的旅程记录。按空格继续,按右方向键开始新的旅程。
sys_menu 菜单。左右方向键选择,按空格确认。
help_explore 左右方向键选,按空格确认。上方向键看状态,下方向键开菜单。(26 号修改稿)
help_battle 战斗中,左右方向键选招,按空格出手。前摇一响,按空格挡住。(26 号修改稿)
btl_lose_hint 记住,听清前摇,按空格挡住。(26 号修改稿)
tut_b2 就是现在,按空格挡住!(26 号修改稿)
tut_b3 选攻击,按空格出剑。(26 号修改稿)
shop_open 商店。左右方向键看看货,按空格购买。
skip_hint 按空格可跳过旁白。
tut_battle_2 左右方向键切换招式,攻击、破空斩、防御、金疮药。按空格,出手。(停用)
tut_battle_3 敌人出手前有一声前摇。听到前摇,马上按回车,就能格挡。(停用)
tut_battle_5 记住:听清前摇,按回车格挡。开始吧!(停用)
tut_b0 战斗里,左右方向键选招式,按空格出手。听到这个声音,就是你的回合。先按一按方向键,试试。
tut_b6 来不及挡,就选防御。左右方向键,选防御,按空格。
gd_parry_miss 前摇响着呢。按空格,挡住。(26 号修改稿)
gd_stall 想好了吗?左右方向键选择,按空格出手。(停用)
sys_first_tap / sys_first_tap_short 按一下空格。(新增)
sys_unlock_up 想知道自己在哪,就按上方向键。(新增)
sys_unlock_down 按下方向键,可以打开菜单。(新增)
sys_unlock_dt 没听清,就按回车,再听一遍。(新增)
hint_explore_short / hint_swipe_short 按方向键。(新增)
only_explore 现在,只要左右方向键。(新增)
hint_shop_full 按空格,买下。(新增)
hint_shop_short 按空格。(新增)
hint_cmd_short 按空格出手。(新增)
tut_def_short 选防御。(新增,无操作词不变体)
st_where_1 村外小路。去黑风寨。按方向键。(新增)
st_where_2 林子深处。去黑风寨。按方向键。(新增)
st_where_3 黑风寨。救徒弟。按方向键。(新增)
inv_up_locked 上方向键还没解锁。先去战斗。(新增)
inv_down_locked 菜单,通关第一章解锁。(新增,无操作词不变体)

26 号重构变更登记(2026-10,docs/design/26-apply-rpg.md)

完整清单(含全部文案与类别)见 tools/voice_lines_26/rpg.md;生成仍以 tools/gen_voice_dual.py RPG_LINES 为准(本表与 KEY_LINES 两表一致铁律)。 NPC 平铺台词(N 组)不改。

变更 id 说明
新增 ×20 sys_first_tap / sys_first_tap_short / sys_turn_teach / sys_say_again / sys_unlock_up / sys_unlock_down / sys_unlock_dt / sys_demo_continue / hint_explore_short / only_explore / hint_shop_full / hint_shop_short / hint_cmd_short / hint_swipe_short / tut_def_short / inv_up_locked / inv_down_locked / st_where_1..3 已并入上文 S 组与键盘变体表;通用系统句与 storyline 逐字一致
修改 ×6 help_explore / help_battle / btl_lose_hint / tut_b2 / tut_b3 / gd_parry_miss 全部消除「双击格挡 / 双击重听」旧口径:格挡 = 前摇窗口内再单击(05 系列明令)
停用 ×7 intro_3 / tut_battle_1..5 / gd_stall 开场规则念白砍掉(26 号 §4.10);R6 长教学链改一句一教(原则 11);旧看门狗插播句由三档提示 + 迷茫接管取代
保留在用 gd_wrap_first / gd_wrap_last / tut_b0 / tut_b1 / tut_b2b / tut_b4 / tut_b5 / tut_b6 / skip_hint / foe_hp_* / boss1_warn / btl_flee_fail 探索回绕/末位提示、教学四步、跳句提示、敌方血量档照旧引用