Files
SoundGame/docs/audio/round2-voice-ids.md
T
SoundGame Dev cc0f8c008d HTML5 重写:6 款游戏 + 用户系统 + 全局设置 + 5 轮迭代重构
- 新增 web/ 纯音频 HTML5 平台:共享引擎(手势/WebAudio 三层/设置/震动)、
  Node 零依赖服务器(静态 + 注册登录 + 进度存档 API)
- 游戏:剑与声(RPG 新作)、声命线、暗室(重设计)、音序回响(重设计)、
  节拍行者(跟随领奏重构)、盲航(同向闪避重构);声东击西删除
- 全局功能:男声/女声双套 TTS 资产、三档语速、BGM 音量三档、
  震动反馈语言(10 种震型)、服务器进度同步
- 资产:899 ogg + 899 m4a(Qwen3-TTS 双性别语音、Stable Audio 3 音效、
  Mureka BGM 4+3 首),终检零缺失
- 文档:docs/design/ 13 篇设计审查文档、docs/audio/ 资产管线、
  web/server/README.md API 文档
2026-08-29 21:55:44 +08:00

243 lines
15 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.
# R2 语音 id 清单:escape《暗室》/ simon《音序回响》
> 给开发:本文件是两款游戏重设计的**最终语音资产清单**。`✦` = 新增 id,`●` = 保留 id(文本不变或微调,全部按新 instruct 重录),`✗` = 删除 id(文件已从 voice/male|female/ 移除,代码不得再引用)。
> 所有 id 在 `audio/voice/male/` 与 `audio/voice/female/` 下成对存在(.ogg + .m4a)。
> 生成规范(00 文档 §3):每游戏同一 speaker 常量 + 同一 instruct 常量;instruct 不含语速词(语速由引擎 playbackRate 控制);一句一文件,禁止拼接。
## 音色与 instruct 常量
| 游戏 | 目录 | speaker | instruct(本游戏全部 id 共用) |
|---|---|---|---|
| escape | male | Uncle_Fu | 低沉平稳的男声,冷静、克制,带一点神秘感 |
| escape | female | Serena | 沉稳平静的女声,冷静、克制,带一点神秘感 |
| simon | male | Uncle_Fu | 平静、清晰,像一个耐心的游戏主持人 |
| simon | female | Serena | 平静、清晰,像一个耐心的游戏主持人 |
---
## 一、escape《暗室》(共 74 id)
### 1. 开场引导 GUIDE(G0–G7,✦ 全部新增)
| id | 台词 | 对应设计步骤 |
|---|---|---|
| g0_intro ✦ | 黑暗。你在废弃的地下设施里醒来,什么都想不起来。你必须找到出路。 | G0(单击继续) |
| g1_move ✦ | 先活动一下。朝任意方向滑一下,走一小步。 | G1 |
| g1_done ✦ | 很好,你迈出了第一步。 | G1 反馈 |
| g2_wall ✦ | 这个房间不大,四面都是墙。再滑两下,试试碰碰墙。 | G2 |
| g3_left ✦ | 跟着我指的路走。向左滑。 | G3 |
| g4_down ✦ | 对。再向下滑。 | G3 反馈 + G4 指令(同一句) |
| g5_inspect ✦ | 听到水声了吗?单击一下,仔细检查这个房间。 | G5 |
| g5_key ✦ | 你摸到了一把钥匙! | G5 反馈(谜题链第一环) |
| g6_doubletap ✦ | 钥匙能开锁。双击,是把物品用出去的用法。现在,双击试试。 | G6 |
| g6_done ✦ | 对,就是这样。接下来,靠你自己了。 | G6 反馈 |
| g7_goal ✦ | 找到能用这把钥匙打开的东西。需要帮助时,在原地双击。 | G7 → PLAY |
### 2. 引导纠错与跳过(✦)
| id | 台词 | 用途 |
|---|---|---|
| guide_wrong_up ✦ | 不是这个方向。向上滑。 | 做错方向纠正(4 向各一) |
| guide_wrong_down ✦ | 不是这个方向。向下滑。 | 同上 |
| guide_wrong_left ✦ | 不是这个方向。向左滑。 | 同上 |
| guide_wrong_right ✦ | 不是这个方向。向右滑。 | 同上 |
| guide_wrong_gesture ✦ | 不是这个操作。照我说的做。 | 手势类型错误(该滑动了却点按等) |
| guide_blunt_up ✦ | 手指贴着屏幕,向上推一下。 | 同一步错 3 次的直白重述(4 向各一) |
| guide_blunt_down ✦ | 手指贴着屏幕,向下推一下。 | 同上 |
| guide_blunt_left ✦ | 手指贴着屏幕,向左推一下。 | 同上 |
| guide_blunt_right ✦ | 手指贴着屏幕,向右推一下。 | 同上 |
| guide_offpath ✦ | 先跟我走。 | 引导期间偏离脚本路线的温和拦回 |
| guide_skip ✦ | 跳过引导,直接开始自由探索。 | 引导期间下滑跳过确认 |
| reopen_prompt ✦ | 上滑,重新听一遍引导。单击,直接开始。 | 二周目开场(已完成过引导) |
### 3. 卡关三级提示(✦ 12 句 + 前置句 + 导航句 4 句)
L1/L2 每阶段自动播一次;L3 = `stuck_<阶段>_3` + 按当前位置算路链播 `nav_*`(两句以内)。
| id | 台词 | 级别/阶段 |
|---|---|---|
| stuck_ask ✦ | 需要帮助吗? | L1 前置句(播完接 L1 内容) |
| stuck_key_1 ✦ | 铁锈味最重的地方,值得仔细看看。 | L1·找钥匙 |
| stuck_key_2 ✦ | 去西南角的储物间,单击检查,找到钥匙。 | L2·找钥匙(双击兜底也播这条) |
| stuck_key_3 ✦ | 跟我说的方向走,去西南角的储物间。 | L3·找钥匙(后接 nav_* 链) |
| stuck_cabinet_1 ✦ | 钥匙就在你身上。它能打开某一把锁。 | L1·开铁柜 |
| stuck_cabinet_2 ✦ | 去东边的铁柜房,双击,用钥匙打开铁柜。 | L2·开铁柜 |
| stuck_cabinet_3 ✦ | 跟我说的方向走,去铁柜所在的房间。 | L3·开铁柜 |
| stuck_box_1 ✦ | 保险丝属于电箱。有电流声的地方,就有电箱。 | L1·修电箱 |
| stuck_box_2 ✦ | 去西北角的电箱房,双击,把保险丝装进电箱。 | L2·修电箱 |
| stuck_box_3 ✦ | 跟我说的方向走,去电箱所在的房间。 | L3·修电箱 |
| stuck_gate_1 ✦ | 电已经通了。该去找那扇铁门了。 | L1·开大门 |
| stuck_gate_2 ✦ | 去东南角的大门,双击,打开它,离开这里。 | L2·开大门 |
| stuck_gate_3 ✦ | 跟我说的方向走,去大门所在的房间。 | L3·开大门 |
| nav_up ✦ | 向上滑。 | L3 导航词(算路链播,可两句连读) |
| nav_down ✦ | 向下滑。 | 同上 |
| nav_left ✦ | 向左滑。 | 同上 |
| nav_right ✦ | 向右滑。 | 同上 |
### 4. 房间描述(✦ 首次进入关键房间时播,配合环境音)
| id | 台词 | 房间 |
|---|---|---|
| room_storage ✦ | 一间储物间。货架上堆满杂物,角落里传来水滴声。 | 储物间 (0,2),环境音 amb_storage |
| room_cabinet ✦ | 这个房间里,立着一个铁柜。 | 铁柜房 (2,1),amb_cabinet |
| room_power ✦ | 这个房间的墙上,有一只电箱。 | 电箱房 (0,0),amb_power |
| room_gate ✦ | 面前,是一扇沉重的铁门。 | 大门 (2,2),amb_gate / 通电后 amb_gate_live |
### 5. 用时播报(✦ 4 段整句,替代全部数字拼接)
| id | 台词 | 区间(供代码映射) |
|---|---|---|
| time_band1 ✦ | 你逃出来了,用时不到两分钟。了不起! | t < 120s |
| time_band2 ✦ | 你逃出来了,用时不到五分钟。 | 120s ≤ t < 300s |
| time_band3 ✦ | 你逃出来了,用时不到十分钟。 | 300s ≤ t < 600s |
| time_band4 ✦ | 你逃出来了,用时超过十分钟。 | t ≥ 600s |
### 6. 保留 id(● 文本不变,按新 instruct 双性别重录)
| id | 台词 |
|---|---|
| wall ● | 那边是墙,换个方向。(新文本;引导 G2 与 PLAY 撞墙共用,每次撞墙都播) |
| start_room ● | 你站在设施中央的房间里。滑动移动,单击检查,双击使用物品。(新文本;跳过引导后的 PLAY 开场) |
| found_key ● | 你蹲下身在储物架的角落里摸索,指尖碰到一个冰凉的金属物件——是一把钥匙!钥匙到手了。 |
| inspect_cabinet_locked ● | 这个房间里立着一个铁柜,柜门上挂着一把锁。也许,有什么钥匙能打开它。 |
| unlock_cabinet ● | 钥匙插进锁孔,缓缓转动。咔哒一声,柜门开了。柜子深处,躺着一枚保险丝。保险丝到手了。 |
| inspect_box_dead ● | 墙上是一只电箱,箱盖敞开着,里面的保险丝座空空如也。没有电,这里的大门永远打不开。 |
| box_fixed ● | 电箱运转正常,电流的嗡鸣声平稳而持续。 |
| fix_box ● | 你把保险丝用力按进卡座。火花一闪,嗡鸣声响起——头顶的线路恢复供电了! |
| inspect_gate ● | 面前是一扇沉重的铁门。门边的电子锁一片漆黑,没有任何反应。它需要电力。 |
| inspect_gate_ready ● | 电子锁的指示灯亮了,发出微弱的绿光。大门已经通电。双击,打开它,离开这里。 |
| escape ● | 你扳动开关。电机轰鸣,沉重的铁门缓缓升起,刺眼的光线涌了进来。你眯起眼睛,向前迈出了第一步。自由了。你逃出来了。 |
| use_fail ● | 这里没有用得上东西的地方。换个房间试试,或者先单击检查一下周围。 |
| inv_empty ● | 你摸了摸身上,什么也没有。 |
| inv_key ● | 你身上带着一把钥匙。 |
| inv_fuse ● | 你身上带着一枚保险丝。 |
| inv_both ● | 你身上带着一把钥匙和一枚保险丝。 |
| replay ● | 黑暗再次合拢。你回到了中央的房间。这一次,你会更快。 |
| again ● | 单击屏幕,再来一次。下滑,打开菜单。(新文本;ENDING 提示) |
| empty_1 ● | 房间里空空荡荡,只有你自己的回声。 |
| empty_2 ● | 你伸出手,摸到的只有冰冷粗糙的墙壁。 |
| empty_3 ● | 除了远处的水滴声,这里什么都没有。 |
### 7. 菜单与帮助(✦)
| id | 台词 | 用途 |
|---|---|---|
| help_ops ✦ | 滑动,在房间之间移动。单击,检查房间,或者重听房间的声音。双击,使用物品,或者查看背包。 | 菜单「重听帮助」/ 兜底说明 |
| menu_open ✦ | 菜单。 | 菜单打开播报第一项前 |
| menu_restart ✦ | 重新开始。 | 菜单选项 |
| menu_home ✦ | 回大厅。 | 菜单选项(保存并回大厅) |
| menu_back ✦ | 返回游戏。 | 菜单选项 |
### 8. escape 删除清单(✗ 文件已移除,代码禁止引用)
- 数字拼接链(14):`n0 n1 n2 n3 n4 n5 n6 n7 n8 n9 nshi unit_min unit_sec time_prefix` → 由 `time_band1..4` 替代
- 旧开场(2):`intro tutorial` → 由 GUIDE(g0–g7)替代
- 旧四级提示(4):`hint_key hint_cabinet hint_box hint_gate` → 由 `stuck_*` 三级提示替代
- 平铺目录 `audio/voice/` 下的 escape 旧文件全部移除(引擎已切 gender 目录)
---
## 二、simon《音序回响》(共 68 id)
### 1. 交互式教学(✦ T0–T7;T8 即 round_01)
| id | 台词 | 用途 |
|---|---|---|
| t0_welcome ✦ | 欢迎来到音序回响。先认识六种声音。 | T0(与下句链播) |
| t0_goal ✦ | 我会演奏一串声音,请你记住顺序,原样复现。 | T0 第二句 |
| t1_up ✦ | 向上滑,是这个声音。 | T1(播完接 tone_up,再接 t_try) |
| t2_down ✦ | 向下滑,是这个声音。 | T2 |
| t3_left ✦ | 向左滑,是这个声音。 | T3 |
| t4_right ✦ | 向右滑,是这个声音。 | T4 |
| t5_tap ✦ | 单击,是这个声音。 | T5 |
| t6_double ✦ | 双击,是这个声音。 | T6 |
| t_try ✦ | 你试试。 | T1–T6 共用,等待玩家做该手势 |
| t_ok ✦ | 对了。 | 做对,进下一个 |
| t_wrong_up ✦ | 不是这个,向上滑试试。 | 做错纠正(6 手势各一) |
| t_wrong_down ✦ | 不是这个,向下滑试试。 | 同上 |
| t_wrong_left ✦ | 不是这个,向左滑试试。 | 同上 |
| t_wrong_right ✦ | 不是这个,向右滑试试。 | 同上 |
| t_wrong_tap ✦ | 不是这个,单击试试。 | 同上 |
| t_wrong_double ✦ | 不是这个,双击试试。 | 同上 |
| t_blunt_up ✦ | 手指贴着屏幕,向上推一下。 | 同一手势错 3 次的直白版(6 手势各一) |
| t_blunt_down ✦ | 手指贴着屏幕,向下推一下。 | 同上 |
| t_blunt_left ✦ | 手指贴着屏幕,向左推一下。 | 同上 |
| t_blunt_right ✦ | 手指贴着屏幕,向右推一下。 | 同上 |
| t_blunt_tap ✦ | 用指尖,轻轻点一下屏幕。 | 同上 |
| t_blunt_double ✦ | 用指尖,快速点两下屏幕。 | 同上 |
| t7_ready ✦ | 六种声音都记住了。后面的序列,会越来越长。 | T7(与下句链播) |
| t7_retry ✦ | 答错可以消耗机会重听。双击,可以随时重听。 | T7 第二句 |
| t_skip ✦ | 跳过教学,直接开始。 | 教学期间下滑跳过确认 |
### 2. 轮次播报(✦ 21 句整句)
| id | 台词 |
|---|---|
| round_01 … round_20 ✦ | 第一轮,听好了。/第二轮,听好了。/第三轮,听好了。/第四轮,听好了。/第五轮,听好了。/第六轮,听好了。/第七轮,听好了。/第八轮,听好了。/第九轮,听好了。/第十轮,听好了。/第十一轮,听好了。/第十二轮,听好了。/第十三轮,听好了。/第十四轮,听好了。/第十五轮,听好了。/第十六轮,听好了。/第十七轮,听好了。/第十八轮,听好了。/第十九轮,听好了。/第二十轮,听好了。 |
| round_more ✦ | 新的一轮,听好了。 | round > 20 兜底 |
### 3. 成绩播报(✦ 6 段整句)
| id | 台词 | 区间(供代码映射,score=完成轮数) |
|---|---|---|
| score_band1 ✦ | 一轮都没坚持下来。别灰心。 | score = 0 |
| score_band2 ✦ | 你坚持了三轮以内。 | 1–3 |
| score_band3 ✦ | 你坚持了五轮左右。 | 4–6 |
| score_band4 ✦ | 你坚持了将近十轮。 | 7–9 |
| score_band5 ✦ | 你坚持了十轮以上,很厉害。 | 10–14 |
| score_band6 ✦ | 你坚持了十五轮以上,大师级! | ≥ 15 |
### 4. 流程句(✦/●)
| id | 台词 | 用途 |
|---|---|---|
| your_turn ● | 轮到你了。 | 第 1 轮复现阶段(之后轮次仅震动) |
| chances_out ✦ | 重听机会用完了,小心。 | 机会归 0 时提示 |
| retry_use ✦ | 错了。用一次机会,再听一遍。 | 答错且有机会(自动重播序列) |
| relisten ✦ | 再听一遍。 | 输入阶段双击主动重听(耗机会) |
| replay ● | 单击屏幕,再来一局。 | 结算 |
| rules_prompt ✦ | 上滑,重听规则。下滑,打开菜单。 | 结算/非输入阶段提示 |
| rules ✦ | 上行音,向上滑。下行音,向下滑。左边的音,向左滑。右边的音,向右滑。一声轻响,单击。两声轻响,双击。 | 规则重听句(上滑) |
| gameover ● | 游戏结束。 | 答错且无机会(sfx/gameover 之后链播成绩) |
### 5. 反馈短句(● 文本不变重录)
| id | 台词 | 用途 |
|---|---|---|
| correct ● | 答对了! | 整轮复现成功(每 4 轮播一次,其余仅震动) |
| wrong ● | 错了。 | 答错(retry_use 已含"错了",此句供无机会外的即时反馈,可选) |
| chance_plus ✦ | 机会加一。 | 每过 4 轮机会 +1 |
| new_record ● | 新纪录! | 破纪录 |
### 6. 菜单(✦)
| id | 台词 |
|---|---|
| menu_open ✦ | 菜单。 |
| menu_restart ✦ | 重新开始。 |
| menu_home ✦ | 回大厅。 |
| menu_back ✦ | 返回游戏。 |
### 7. simon 删除清单(✗ 文件已移除,代码禁止引用)
- 数字拼接件(14):`di lun num_shi num_0 num_1 num_2 num_3 num_4 num_5 num_6 num_7 num_8 num_9 score_pre best_pre` → 由 `round_*` / `score_band*` 整句替代
- 旧教学连播(9):`intro teach_up teach_down teach_left teach_right teach_tap teach_doubletap teach_end listen` → 由交互式教学 `t*_*` 替代
- sfx(3):`sfx/correct sfx/wrong sfx/newrecord` 已删除(反馈改震动);`sfx/gameover` 与 6 个 `tone_*` 保留
- 平铺目录 `audio/voice/` 下的 simon 旧文件全部移除
---
## 三、escape 环境音(sfx,非语音)
| id | 状态 | 内容 |
|---|---|---|
| amb_drip | 保留 | 起点 (1,1):单一滴水 |
| amb_wind | 保留 | 空房轮换:风声弱化版 |
| amb_hum | 保留 | 空房轮换:远处嗡鸣弱化版 |
| amb_storage ✦ | 新增 | 储物间:滴水 + 金属杂物轻响 |
| amb_cabinet ✦ | 新增 | 铁柜房:嗡鸣 + 铁皮共振 |
| amb_power ✦ | 新增 | 电箱房:电流嗡鸣 + 偶尔火花 |
| amb_gate ✦ | 新增 | 大门:风声 + 门外空旷感 |
| amb_gate_live ✦ | 新增 | 大门通电后:风声 + 电流声 |
| ui_deny ✗ | 删除 | 反馈提示音退役(改震动) |