Files
SoundGame/docs/design/05-rpg-ch1-voice-ids.md
T
2026-10-01 23:26:47 +08:00

219 lines
13 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.
# 05b · 《剑与声》第一章语音台词表(voice ids,R4 录音依据)
> **26 号对齐(资产清单,不是交互宪法)**
> - 交互与新手手势以 [26-audio-interaction-playbook.md](26-audio-interaction-playbook.md) 和对应游戏正文为准。
> - 本表仍是 TTS id 事实源的**登记副本**(生成以 `tools/gen_voice_dual.py` 为准)。含「双击重听 / 双击使用 / 双击格挡 / 单击循环菜单」的句子 **停用或按游戏正文重录**。
> - 写作:指令 ≤12 字,短句档 ≤6 字,叙事 ≤25 字;每句标 `critical` / `content` / `hint` / `feedback`。游戏主动提示不得原样重复;重听前加「再说一遍:」。
> - 键盘变体:新手期回车当空格(单击)。删除「按回车=重听」类旧口径,或仅在阶段 3 解锁双击后启用。
> - 共用新句见 [14-guide-layer.md](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` | 先记住,怎么用耳朵走路。 |
## 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` | 左右滑切换选项,单击确认。双击重新听场景,上滑查看状态,下滑打开菜单。 | 帮助 |
| `help_battle` | 战斗中,左右滑选招式,单击出手。听到敌人的前摇,双击格挡。 | 帮助 |
| `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 |
## 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` | 记住,听清前摇,双击格挡。 | 战败提示 |
| `tut_b1` | 它要扑了,听前摇! | 教学战 |
| `tut_b2` | 就是现在,双击格挡! | 教学战 |
| `tut_b3` | 挡住了!轮到你了。左右滑选攻击,单击出剑。 | 教学战 |
| `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](05-rpg.md) §5.3,场景/战斗触发逻辑见 [05-rpg-chapter1.md](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` | 左右方向键切换选项,按空格确认。按回车重新听场景,按上方向键查看状态,按下方向键打开菜单。 |
| `help_battle` | 战斗中,左右方向键选招式,按空格出手。听到敌人的前摇,按回车格挡。 |
| `btl_lose_hint` | 记住,听清前摇,按回车格挡。 |
| `tut_b2` | 就是现在,按回车格挡! |
| `tut_b3` | 挡住了!轮到你了。左右方向键选攻击,按空格出剑。 |
| `shop_open` | 商店。左右方向键看看货,按空格购买。 |
| `skip_hint` | 按空格可跳过旁白。 |
| `tut_battle_2` | 左右方向键切换招式,攻击、破空斩、防御、金疮药。按空格,出手。 |
| `tut_battle_3` | 敌人出手前有一声前摇。听到前摇,马上按回车,就能格挡。 |
| `tut_battle_5` | 记住:听清前摇,按回车格挡。开始吧! |
| `tut_b0` | 战斗里,左右方向键选招式,按空格出手。听到这个声音,就是你的回合。先按一按方向键,试试。 |
| `tut_b6` | 来不及格挡,就选防御。左右方向键,选防御,按空格。 |
| `gd_parry_miss` | 前摇声起的时候按回车,才能格挡。 |
| `gd_stall` | 想好了吗?左右方向键选择,按空格出手。 |