配对码与认领(B): - POST /api/pair/start|join:6 位码 10 分钟单次有效、仅存内存零泄露面、5 连错 per-IP 封锁 10 分钟;join=新设备档案按桶 LWW 并入老档案+token 改绑(复用 claim-merge);日志脱敏 - 大厅:生成配对码(speechSynthesis 逐位朗读+aria-live+重听)/从其他设备转入(one-time-code 输入框)/从本机移除/401 过期自愈引导/aria 补全/玩家名可听化 - api-smoke 12/12(配对全流程/频控/封锁/过期自愈/移除/digitsToCn)+ CDP 真浏览器 E2E 22/22 键盘语音双套资产(A,路线 a): - 164 变体句(8 游戏 grep 实测,超出调研预估 153:含轻触/点两下/按住变体)×2 性别=328 生成 656 文件 36.9 分钟;触屏主资产零字节改动(PCM 逐样本比对后还原) - 引擎 _candidates 三跳路由 key→gender→平铺(inputMode 跟随);缓存键 mode|gender|id;engine-input 新增 K9 路由断言(72 条) - check_all_assets 增 key 列(两性别一致且 ⊆ 主集)8 游戏全绿;voice_text.json 增 __key__ 表;live control.mjs key 会话对照键盘措辞验收(集成) - voice-ids 文档:8 游戏键盘变体小节由 KEY_LINES 程序化生成(与台词表逐字断言一致);补齐 storyline/escape/simon 三个历史缺失文档;design README 增 new8 索引 - mock 适配:playtest persona 加 maxTouchPoints=1 保持触屏链断言语义零改动 回归:12 套件全绿(8 playtest + guide 122 + engine-voice 19 + engine-input 72 + api-smoke 12/12) 同批入库:批次 2/3 已完稿设计文档(17-abyss/18-detective/19-cipher 全套,20-22 在途)
25 KiB
25 KiB
17b · 《深海回音》(abyss) 语音台词表(voice ids,录音依据)
给音频总监的录制说明
- 双性别组(潜航员 DIVER + 调度/系统 DECK,126 句):落
web/abyss/audio/voice/female|male/<id>.{ogg,m4a},两性别 id 集合完全一致(含全部_k变体)。
- DIVER(潜航员=玩家):female =
Serena,instruct 常量低沉冷静的年轻女声,深潜救援员,干练沉着,水下通讯的轻微气声;male =Uncle_Fu,instruct 常量低沉冷静的男声,深潜救援员,干练沉着,水下通讯的轻微气声。- DECK(母船调度/系统音/向导 gd_*):female =
Vivian,instruct 常量清晰稳定的女声,母船潜水调度员,专业干脆,隔着耳机下达指令;male =Dylan,instruct 常量清晰稳定的男声,母船潜水调度员,专业干脆,隔着耳机下达指令。- 区分度设计:玩家(头戴耳机的自语音)与调度(母船通讯声)共用 speaker 池但不同 speaker 配对——female 侧玩家 Serena / 调度 Vivian、male 侧玩家 Uncle_Fu / 调度 Dylan,同场景高频对话的两者永不同 speaker。
- NPC 平铺组(21 句):单音色、不做双性别,平铺落
web/abyss/audio/voice/<id>.{ogg,m4a}(引擎平铺回退命中),转码时按 §电台滤波 加带通。船员共 4 人(≤5 约束),同一角色 speaker+instruct 恒定,区分度风险逐个标注:
角色 speaker instruct 常量 区分度风险 小舟(23 岁声呐兵,女) Serena年轻女声,二十三岁声呐兵,缺氧后发虚,强撑着干脆中:与 female 玩家同 speaker,靠年龄感 instruct + 电台滤波(420-3200Hz)区分,请试听确认 老白(50 岁轮机长,男) Uncle_Fu沙哑爽朗的中年男声,五十岁轮机长,忍着伤痛开玩笑中:与 male 玩家同 speaker,靠沙哑 instruct + 滤波(350-3000Hz)区分,请试听确认 陈医官(45 岁船医,女) Vivian平静沙哑的中年女声,四十五岁船医,专业镇定,语气温和低:与 female 调度同 speaker 不同 instruct + 滤波(400-3100Hz),且从不同场 高船长(58 岁船长,男) Eric低沉苍老的男声,五十八岁船长,疲惫克制,有老舵手的威严低:male 侧唯一 Eric + 滤波(300-2800Hz) - 电台滤波(转码侧):NPC 全部走带通+轻压缩(参数见上表,详表见 17-abyss.md §5.3/§6.1);DIVER/DECK 不滤波(母船级音质)——「电台里的人」与「耳机里的人」靠音质差立住。试听不可读的句子回退未滤波原声(宁窄勿脏)。
- 称呼规则:船员对玩家一律称「救援员/你」,全表禁用「姑娘/小哥/大哥/大姐/叔叔」类性别化称呼(玩家性别随用户设置变化)。
- 键盘变体(PC 键盘通道,P1 机制):带
_k后缀的 id 为键盘措辞版(「按空格」「回车」「左箭头/右箭头/上箭头/下箭头」),与触屏版成对生成、成对落盘(check_all_assets校验_k配对);运行时由gesture.inputMode()选择:key→<id>_k,touch→<id>,auto跟随最近使用通道,_k缺失回退无后缀版。变体共 11 对,全部集中在下方 §G0 操作提示句区与 §D1 首个抉择(dv1_teach / p1),以粗体标注。- 数字规避:潜次/氧气全部分档整句(prog_d1..d4、oxy_full/ok/low/crit、oxy_gain);句内数字(三千米/三格/四潜/十二小时/四小时/一小时/三页)写死在整句里,禁止运行时拼接。
- 禁语速词:instruct 不含任何语速描述(引擎 SoundTouch 变速);NPC 句靠短句+逗号停顿实现「水下慢半拍」听感。
- 管线:
tools/gen_voice_dual.py照录(SPEAKERS 表需新增 abyss 行);多音字自查见文末注记。
G0 组 · 系统/向导/状态(DECK 双性别 ×37)
G0.a 操作提示句(含键盘变体,9 对 18 句——键盘玩家听这一区就够)
| id | 台词全文 | 触发 |
|---|---|---|
gd_brief |
单击继续简报。要选择时,向左或向右滑。 | 开场链最前(full 档,F8 先例) |
gd_brief_k |
按空格继续简报。要选择时,用左右方向键。 | 同上(inputMode=key) |
gd_continue |
单击屏幕,继续。 | 叙事链末看门狗第 1 级(full 25s / standard 13s) |
gd_continue_k |
按空格,继续。 | 同上(key) |
gd_again |
还在吗?单击继续。 | 看门狗第 2 级(50s / 30s),新句不逐字重播 |
gd_again_k |
还在吗?按空格继续。 | 同上(key) |
gd_ping1 |
声呐待命。单击,发脉冲。 | 搜索等待静默 10s(第 1 级) |
gd_ping1_k |
声呐待命。按空格,发脉冲。 | 同上(key) |
gd_ping2 |
回波不会自己来。单击。 | 搜索等待静默 25s(第 2 级,必须与第 1 级不同句) |
gd_ping2_k |
回波不会自己来。按空格。 | 同上(key) |
sys_help |
单击继续,双击重新听。上滑听状态,下滑开菜单。选择时,左右滑。 | 上滑帮助 / 菜单内上滑 |
sys_help_k |
空格继续,回车重新听。上箭头听状态,下箭头开菜单。选择时,左右箭头。 | 同上(key) |
sys_menu |
菜单。单击切换选项,双击确认。 | 下滑呼出模态菜单 |
sys_menu_k |
菜单。空格切换选项,回车确认。 | 同上(key) |
sys_skip |
想跳过这句,单击就行。 | 开场每局一次(skip_hint 先例) |
sys_skip_k |
想跳过这句,按空格。 | 同上(key) |
sys_continue_ask |
检测到你的下潜记录。单击继续上次,右滑开始新救援。 | 有存档进游戏 |
sys_continue_ask_k |
检测到你的下潜记录。空格继续上次,右箭头开始新救援。 | 同上(key) |
G0.b 状态/系统句(无手势词,无变体)
| id | 台词全文 | 触发 |
|---|---|---|
gd_invalid |
这个手势,水里用不上。 | 无效手势(error 震,idle-only,同局限次) |
gd_prog1 |
滑动在这里用不上。想想调度刚说的话。 | 无进展轨 60s(第 1 级,乱按抢救) |
gd_prog2 |
别乱。停一下,想想下一步。 | 无进展轨 120s(第 2 级) |
sys_menu_resume |
回到水下。 | 菜单项 |
sys_menu_restart |
重新开始这次救援。 | 菜单项 |
sys_menu_lobby |
保存并回大厅。 | 菜单项(确认后跳转前播) |
sys_settings |
音色、语速、背景音乐,请回大厅修改。 | 菜单内设置提示 |
sys_new_dive |
新的一次下潜,开始了。 | 新救援开始 / 菜单重开 |
prog_d1 |
现在是第一次下潜。 | 上滑状态链(按当前潜次选播) |
prog_d2 |
现在是第二次下潜。 | 同上 |
prog_d3 |
现在是第三次下潜。 | 同上 |
prog_d4 |
现在是最后一次下潜。 | 同上 |
oxy_full |
气瓶还足,救得动。 | 氧气 ≥9(跨档时挂上浮结算链;上滑状态链) |
oxy_ok |
氧气还够两潜。 | 氧气 6-8(floor(oxy/3)=2,句义逐格为真) |
oxy_low |
氧气告急,只够最后一潜。 | 氧气 3-5;此后垫 sfx/breath_loop |
oxy_crit |
氧气见底,必须上浮。 | 氧气 0-2;各播报位附 warning 震 |
oxy_gain |
应急瓶接上了,多三格。 | D2 上浮后补给(全局唯一一次) |
dry_a |
气瓶用干了。立刻上浮。 | mid-dive 氧气 floor 至 0,干涸链首句 |
dry_b |
气花在了人身上。人,都上来了。 | 干涸链归因句(真话:气耗在走心选择上) |
G1 组 · 开场(双性别 ×4)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
b_open |
潜航员 | 风停了。我站在问海号甲板上,下面三千米,是海燕号。 | INTRO(配 sfx/amb_deck) |
b_rule |
调度 | 规矩就一条:气不够一潜,人就必须上浮。 | INTRO(一句规矩,P4;与取消门一致) |
b_goal |
调度 | 海燕号,五个人。你的双瓶,够下四潜。 | INTRO(氧气预算承诺) |
b_go |
调度 | 第一潜,找船。耳朵交给声呐。 | INTRO,随后自动下潜 |
D1 组 · 第一潜·找船·小舟(教学潜)(双性别 13 + 小舟平铺 5 = 18)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
dv1_down |
调度 | 下潜开始。水会越来越黑,声音会越来越多。 | 下潜链(垫 sfx/amb_deep) |
dv1_teach |
调度 | 到深度了。声呐静了。单击,发一枚脉冲。 | 搜索等待武装(教「单击=脉冲」,配 turn cue) |
dv1_teach_k |
调度 | 到深度了。声呐静了。按空格,发一枚脉冲。 | 同上(key) |
dv1_metal |
调度 | 金属回波,钢板。听见这个,就是海燕号的船身。 | 首枚回波解读(教「金属回波=钢板」,配 echo_metal_l) |
dv1_link |
调度 | 回波后面有杂音,是电台!接通了。 | 通讯接通(配 link_beep) |
z1_a |
小舟 | ……有人吗?声呐兵,小舟。我们还活着,全艇五个人。 | 通话主干(垫 sfx/static_burst) |
z1_b |
小舟 | 轮机长老白困在机舱,陈医官和小郑在病舱,船长在指挥舱。 | 通话主干 |
z1_knock |
小舟 | 等等,你听。管子里,有人在敲。 | 线索音引入(配 sfx/pipe_knock 两遍) |
p1 |
调度 | 管路在响。向左滑,停下来听敲管的暗号。向右滑,先带小舟上浮。 | 抉择提示(播完即可选) |
p1_k |
调度 | 管路在响。左箭头,停下来听敲管的暗号。右箭头,先带小舟上浮。 | 同上(key;首个抉择的键位绑定) |
d1_listen |
潜航员 | 都别出声。管子那头,敲得很稳。 | p1 左(knowsPipe=true,-1 气) |
d1_code |
调度 | 是老白的暗号:腿被压住,先泄压,再撬。记住这个敲法。 | p1 左·收(情报句,D2 兑现) |
d1_up |
潜航员 | 小舟,抓住我的肩锁。我们上。 | p1 右 |
z1_bye |
小舟 | 好。上面……是不是天亮了? | p1 右·反应 |
p2 |
调度 | 小舟想回去拿声呐日志。向左滑,等她。向右滑,直接上浮。 | 抉择提示 |
d1_log |
小舟 | 日志里有失事前,最后一段录音。给你,替我们收好。 | p2 左(hasLog=true,-1 气) |
d1_nolog |
潜航员 | 日志可以补,人不能等。走了。 | p2 右 |
d1_surf |
调度 | 小舟出水,第一潜收工。往返,扣三格气。 | 上浮结算(配 surf_splash+ascent_chime;教「每潜扣 3」) |
D2 组 · 第二潜·机舱·老白(双性别 14 + 老白平铺 4 = 18)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
dv2_down |
调度 | 第二潜,机舱。顺着敲管的声音走。 | 下潜链 |
dv2_found |
调度 | 碎石回波后面,敲管声密了。机舱到了。 | 搜索解读(配 echo_debris+pipe_knock) |
bai_a |
老白 | 哈哈,救援的?我这腿,跟冷却管缠上了。 | 通话主干 |
bai_b |
老白 | 艇上的药板烧了。病舱那两个,比我悬。 | 通话主干(埋 D3 险) |
p3 |
调度 | 钢梁压着腿。向左滑,泄压后慢慢撬。向右滑,切割枪,快切。 | 抉择提示 |
d2_pry |
潜航员 | 老白,忍住。先泄压,再撬。 | p3 左 |
d2_pry_ok |
调度 | 暗号没白听。管子一松,钢梁抬起来了。 | p3 左·收(条件 knowsPipe=true,-0 气) |
d2_pry_slow |
调度 | 摸着找泄压阀,多费了一格气。腿,出来了。 | p3 左·收(条件 knowsPipe=false,-1 气) |
d2_cut |
潜航员 | 切割枪。老白,闭眼,憋气。 | p3 右 |
d2_flash |
调度 | 火花炸了一下,虚惊。老白咳着,腿抽出来了。 | p3 右·收(危机拍:danger 签名+spark_flash 前置 2s) |
bai_out |
老白 | 腿还在!我的腿还在!走,我给你带路。 | 两路汇合(正反馈) |
p4 |
调度 | 老白要去关电池舱阀门。向左滑,陪他去。向右滑,直接上浮。 | 抉择提示 |
d2_valve |
潜航员 | 电池舱我陪你去。这片海不能脏。 | p4 左(valve=true,-2 气;配 valve_close) |
d2_valve_e |
调度 | 阀门关死了。两格气,换一片干净海。 | p4 左·收(账目真实:明说两格) |
bai_thanks |
老白 | 这片海养着一村人。这份情,我记一辈子。 | p4 左·反应 |
d2_leave |
潜航员 | 阀门交给母船。你先上,腿要紧。 | p4 右 |
d2_surf |
调度 | 老白出水。他一直扒着舱门,往水里看。 | 上浮结算 |
d2_supply |
调度 | 潜友阿凯捎来应急瓶。甲板上,粥给你温着。 | 补给剧情(随后 oxy_gain +3,全局唯一) |
D3 组 · 第三潜·病舱·陈医官/小郑(双性别 12 + 陈医官平铺 4 = 16)
小郑为无台词角色(重伤固定于吊床,radio 老主播「带子里只有电流声」先例);其状态由调度句 d3_chen_e/d3_stay_lost 承载。
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
dv3_down |
调度 | 第三潜,病舱。海燕号在倾斜,别恋战。 | 下潜链 |
dv3_groan |
调度 | 回波发闷。船体在呻吟,它撑不久了。 | 搜索解读(配 echo_groan,D4 险预告) |
chen_a |
陈医官 | 你来了。小郑股骨断了,我给他固定好了。 | 通话主干 |
chen_b |
陈医官 | 救援钟一次带一个。我是医生,我最后走。 | 通话主干(抉择铺垫) |
p5 |
调度 | 病舱一次只能走一个。向左滑,先带陈医官。向右滑,先带小郑。 | 抉择提示(无气差的双义抉择) |
d3_chen |
潜航员 | 陈医官,你的手在抖。这次,听我的。 | p5 左(陈医官上,stayer=zheng) |
chen_up |
陈医官 | ……好。小郑,等我,上面给你热粥。 | p5 左·反应 |
d3_chen_e |
调度 | 陈医官出水。小郑固定在吊床上,呼吸平稳。 | p5 左·收 |
d3_zheng |
潜航员 | 小郑先走。陈医官,下一潜,就是你的。 | p5 右(小郑上,stayer=chen) |
d3_zheng_e |
调度 | 小郑吊上去了。他一路,都没敢出声。 | p5 右·收 |
chen_stay |
陈医官 | 去吧。我守着灯,灯不灭,人就不散。 | p5 右·留守宣言 |
p6 |
调度 | 留守的人要空气。向左滑,留下你的备用瓶。向右滑,约定下一潜来接。 | 抉择提示 |
d3_spare |
潜航员 | 备用瓶留下。灯,给我亮着。 | p6 左(spareGift=true,-2 气,可触发干涸链) |
d3_spare_e |
调度 | 备用瓶挂上了,能多撑十二小时。 | p6 左·收(账目:时间量而非气格) |
d3_promise |
潜航员 | 四小时内,我下来。等我。 | p6 右 |
d3_surf |
调度 | 病舱的人出水。海燕号的呻吟,隔着水都听得见。 | 上浮结算(随后走氧气门) |
D4 组 · 第四潜·指挥舱·高船长(高潮)(双性别 18 + 高船长 7 + 陈医官 1 = 26)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
dv4_none |
调度 | 气不够一潜了。第四潜,取消。 | 氧气门·取消形态(oxy≤2;800ms 手势死窗) |
gao_final |
高船长 | 别下来。带他们回家,就算救完了。海燕号,通话结束。 | 取消链·船长的最后通讯(随后直达 ◆p9) |
dv4_down |
调度 | 最后一潜,指挥舱。海燕号,撑不住了。 | 下潜链(双载/单载共用) |
dv4_slide |
调度 | 它滑了!抓稳索缆,指挥舱里还有人! | 搜索危机拍(danger 签名+landslide 前置 2s 渐强+danger 震) |
gao_a |
高船长 | 救援员。我船上,还剩两个活人。 | 通话主干 |
gao_b |
高船长 | 都带走,我最后上。这是船长的规矩。 | 通话主干 |
p7 |
调度 | 双人上浮。向左滑,逐站减压慢慢浮。向右滑,违规直浮,搏一把。 | 抉择提示(双载形态:oxy≥4) |
p7_chen |
调度 | 气只够带一个。向左滑,带船长。向右滑,带陈医官。 | 抉择提示(单载形态·留守=陈医官:oxy=3) |
p7_zheng |
调度 | 气只够带一个。向左滑,带船长。向右滑,带小郑。 | 抉择提示(单载形态·留守=小郑) |
d4_slow |
潜航员 | 逐站停,慢慢浮。规矩不能破。 | p7 左·双载(-2 气) |
d4_slow_e |
调度 | 减压站一个个过。气瓶在跳,人稳着。 | p7 左·双载·收 |
d4_fast |
潜航员 | 来不及了。直浮! | p7 右·双载 |
d4_fast_e |
调度 | 违规快浮。医疗舱的灯,先给你们开好。 | p7 右·双载·收(回响伏笔) |
d4_pick_gao |
潜航员 | 船长,抓住我。海燕号的事,上面再说。 | p7 左·单载(带船长) |
d4_pick_chen |
潜航员 | 陈医官,轮到你了。抓住,上浮。 | p7 右·单载·留守=陈医官 |
d4_pick_zheng |
潜航员 | 小郑,吊床连人一起。走了。 | p7 右·单载·留守=小郑 |
chen_last |
陈医官 | 去吧。灯我留着,人齐了就熄。 | 单载·带走船长时留守者=陈医官的留别 |
d4_stay_lost |
调度 | 另一位,留在了倾斜的船舱。航标灯,替所有人亮着。 | 单载·带走船长时留守者=小郑的留别(克制措辞) |
gao_last |
高船长 | 航标灯替我留着。就说,船长睡了。 | 单载·带走留守者时船长的留别(p8 跳过,直达上浮) |
gao_c |
高船长 | 三年前……没什么。走吧,别耽误。 | 心结引入(条件 hasLog=false) |
gao_confess |
高船长 | 日志你拿了?里面写着。是我下令,多采了一小时。 | 心结引入(条件 hasLog=true,替代 gao_c) |
p8 |
调度 | 船长的话没说完。向左滑,把你听到的说出来。向右滑,什么都不问,拉他上浮。 | 抉择提示(船长在乘时可 达,30 字全表最长句) |
d4_talk |
潜航员 | 日志我听完了。海燕号为什么沉,我会带上去。走吧。 | p8 左(gaoPeace=true) |
gao_peace |
高船长 | ……好。这一次,听救援员的。 | p8 左·反应 |
d4_silent |
潜航员 | 纪律就是纪律。抓住,上浮。 | p8 右 |
d4_surf |
调度 | 最后一潜收工。问海号的甲板,从没这么亮过。 | 上浮结算 |
F9 组 · 签收抉择(心结)(双性别 ×7)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
g9_in |
调度 | 医疗舱躺满了。你的气瓶剩多少,你比我清楚。 | 收队签收引入(SURFACE(4)/取消链之后) |
g9_knot |
潜航员 | 三年前,也是这条沟。我按时上浮了,搭档没有。 | 心结自述(玩家背景) |
p9 |
调度 | 海燕号的船钟,还挂在沉船上。向左滑,用最后的气,下去取。向右滑,进医疗舱。 | 抉择提示(左路需 oxy≥1) |
g9_dry |
调度 | 一格气都不剩了。能带的,你都带回来了。 | p9 左路封锁句(oxy<1:播出后自动走右,不摆假选项) |
d9_bell |
潜航员 | 最后一潜。不为救人,为个交代。 | p9 左(bell=true;配 bell_toll 后接 d9_bello) |
d9_bello |
调度 | 船钟出水。海燕号的声音,回家了。 | p9 左·收 |
d9_rest |
潜航员 | 交代,留给明天的人。我去医疗舱。 | p9 右 |
EP 组 · 结局与尾声回响(双性别 22;结局 8 + 回响 14)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
e1_a |
潜航员 | 五个人都在甲板上。船钟的第一声,是替这条沟敲的。 | 结局 e1(saved=5 且 p9=左)主句 |
e1_b |
潜航员 | 三年了,我终于敢往下看。明天,想再潜一次。 | e1 收(钩子) |
e2_a |
潜航员 | 五个人都救上来了。船钟,留在了沟底。 | 结局 e2(saved=5 且 p9=右)主句 |
e2_b |
潜航员 | 没人怪我。可半夜醒来,总听见钟在响。 | e2 收(钩子) |
e3_a |
潜航员 | 没能都带回来。可我到底下去了,敲响了那口钟。 | 结局 e3(saved<5 且 p9=左)主句 |
e3_b |
潜航员 | 钟声替他们,在沟底响了一声。这样,也好。 | e3 收(钩子) |
e4_a |
潜航员 | 我按规矩上浮了。规矩里,没写怎么难过。 | 结局 e4(saved<5 且 p9=右)主句 |
e4_b |
潜航员 | 沟底很安静。安静得,像三年前那天。 | e4 收(钩子;心结回环) |
ep_lead |
调度 | 收队了。调度台给你记一笔——他们,后来怎样了。 | 结局链后尾声引入 |
ep_zhou_ok |
调度 | 小舟:归队报告打了三页。她说,声音都记得。 | 尾声(bond_zhou=1:p1 左或 p2 左) |
ep_zhou_no |
调度 | 小舟:声呐日志没了。她凭记忆,重新描了一遍海图。 | 尾声(bond_zhou=0) |
ep_bai_ok |
调度 | 老白:腿保住了。阀门那夜之后,见人就夸你。 | 尾声(bond_bai=1:p3 左或 p4 左) |
ep_bai_no |
调度 | 老白:腿打了钢钉。他说,瘸着也值。 | 尾声(bond_bai=0) |
ep_chen_ok |
调度 | 陈医官:回了医院。诊室里,挂着一盏海底的灯。 | 尾声(陈医官生还) |
ep_chen_lost |
调度 | 陈医官:她守着灯,到最后一小时。灯,还亮着。 | 尾声(陈医官留守未归) |
ep_zheng_ok |
调度 | 小郑:拆了石膏,第一件事,去看海。 | 尾声(小郑生还) |
ep_zheng_lost |
调度 | 小郑:吊床随船,滑进了沟底。他没来得及看日出。 | 尾声(小郑留守未归) |
ep_gao_peace |
调度 | 高船长:退役申请自己写的。第一行写着:数据不如人。 | 尾声(船长生还且 p8 左) |
ep_gao_up |
调度 | 高船长:上了岸,一直没说话。听说,他在学敲管语。 | 尾声(船长生还且 p8 右) |
ep_gao_lost |
调度 | 高船长:随海燕号留在沟底。航标灯,还亮着。 | 尾声(船长未归) |
ep_trench_bell |
调度 | 沟底:船钟挂在问海号桅杆上。风一过,就响一声。 | 尾声(bell=true) |
ep_trench_deep |
调度 | 沟底:很深,很静。海燕号睡在里面,像睡着了。 | 尾声(bell=false) |
合计:148 句(GPU 预算 ≤170 ✓)
- 双性别 127 句(DIVER 潜航员 30 + DECK 调度/系统 97,含
_k键盘变体 11)×2 性别 = 254 文件; - NPC 平铺 21 句(小舟 5 / 老白 4 / 陈医官 5 / 高船长 7)= 21 文件;
- 合计 275 条音频 ×2 格式(ogg+m4a)= 550 文件。
- 键盘变体 11 对:gd_brief / gd_continue / gd_again / gd_ping1 / gd_ping2 / sys_help / sys_menu / sys_skip / sys_continue_ask / dv1_teach / p1(成对生成,
check_all_assets校验_k配对与双性别集合一致)。 - 每结局专属台词齐备:e1/e2/e3/e4 各 2 句 + 尾声回响 14 句(好感/存活/flag 选播)。
- 每局实走抉择 7-9 个(p7 单载右路跳过 p8;D4 取消路径跳过 p7/p8),抉择提示 p1..p9 共 9 个。
多音字 / 发音风险自查注记
| 风险词 | 处理 |
|---|---|
| 重听 | 全表写「重新听」(sys_help / sys_help_k),无「重听」字样;「重写」规避为「日志可以补」(d1_nolog) |
| 壳(ké/qiào) | 全表不用「壳」,写「钢板 / 船身」(dv1_metal) |
| 脏(zāng/zàng) | 「这片海不能脏」(d2_valve)为 zāng 正确常用读法,保留,试听确认 |
| 闷(mēn/mèn) | 「回波发闷」(dv3_groan)为 mèn 常用读法,保留,试听确认 |
| 颤(chàn/zhàn) | 台词侧用「发抖」(d3_chen);instruct 描述不进语音,不受影响 |
| 塞 / 巷 / 挣 / 血 / 露 / 降(jiàng 外义)/ 率 / 传(zhuàn 义) | 全表未使用(「撑住」「股骨断了」替代;下潜 qián 恒用) |
| 教(jiāo/jiào) | 未使用;「船长」zhǎng、「数据」shùjù、「调度」diàodù 为固定词 |
| 了 / 还 / 得 | 常规句式常见读法,逐句人工试听项(d3_zheng_e「都没敢出声」、d1_surf「扣三格气」等) |
| 数字 | 句内数字全部写死(三千米 / 三格 / 四潜 / 两格 / 十二小时 / 四小时 / 一小时 / 三页 / 一盏),序号与档位用分档整句(prog_d1..d4、oxy_*) |
台词侧自查
- 单句 ≤40 字:全表最长 = p8 与 p9(各 30 字),次长 sys_help_k(28 字)、p6(27 字)✓;NPC 句平均 ≤20 字(P4 语速感靠短句+逗号,不用 instruct 语速词)✓。
- 船员 ≤4 人、speaker+instruct 恒定、区分度风险逐个标注 ✓(小舟 Serena / 老白 Uncle_Fu / 陈医官 Vivian / 高船长 Eric)。
- 称呼合规:船员对玩家只用「救援员 / 你」,性别化称呼零出现 ✓。
- 每个结局(e1..e4)专属主句+钩子各 2 句齐备,尾声救/未救双线齐备 ✓。
- 归因真话律:负向收尾句(dry_b / gao_final / chen_last / d4_stay_lost / gao_last / ep_*_lost / e4_b)全部指向玩家实际选择或真实处境,无「运气不好」类假归因、无惩罚性措辞 ✓。
- 向导 gd_* 13 句(gd_brief/gd_continue/gd_again/gd_ping1/gd_ping2 各带 _k 变体,gd_invalid/gd_prog1/gd_prog2 无变体)符合 14 号 §6 台词规范(一句一义、无重复句式、单句 ≤18 字)✓。
- 氧气档位句与数值一一对应(oxy_full≥9 / ok=6-8 / low=3-5 / crit=0-2,均按 floor(oxy/3) 可下潜次数措辞),账目真实 ✓。