04a · 《盲航》重构版语音台词表(voice ids,R4 录音依据)
给音频总监的录制说明
- 设计依据:04-space-rebuild.md。闪避为同向(左来左滑),台词已全部按此写死,不存在反向表述。
- 旁白双性别:female = Serena,male = Uncle_Fu(R1 音色分配表)。落
web/space/audio/voice/female|male/<id>.{ogg,m4a}。
- instruct 全表统一(同游戏同 instruct,00 文档 §3.2):
- female(Serena):
平静清晰的女声,像飞船领航员,沉稳可信
- male(Uncle_Fu):
低沉醇厚的男声,像飞船领航员,沉稳有力
- 演练的紧迫感靠台词文案表达,instruct 不变。
- 全部整句、无数字拼接:方位/次数/存活时间/躲避数全部按句写死或分档。
- 多音字已规避("重新听"不写"重听";无"撞着/着陆"类风险)。
- 管线:
tools/gen_voice_dual.py 照录本表。本表全量替换 R1 生成的 space 语音(旧 id 见表末映射)。
D 组 · 交互式演练(14 句)
| id |
台词全文 |
触发 |
drill_welcome |
欢迎登上盲航。你只有一双耳朵。 |
D0 |
drill_rule |
陨石来了,会有声音告诉你方位。 |
D0 |
drill_left |
听,左边有陨石。向左滑,把它拨开! |
D1 |
drill_right |
这次在右边。向右滑! |
D2 |
drill_up |
上面有东西,声音又尖又高。向上滑! |
D3 |
drill_down |
下面是低沉的轰隆。向下滑! |
D4 |
drill_good |
漂亮。 |
演练做对(D1/D3 播) |
drill_retry_left |
那是左边来的,向左滑。 |
D1 做错重教 |
drill_retry_right |
那是右边来的,向右滑。 |
D2 做错重教 |
drill_retry_up |
声音又高又尖,是上面,向上滑。 |
D3 做错重教 |
drill_retry_down |
轰隆声在下面,向下滑。 |
D4 做错重教 |
drill_moveon |
没关系,跟着我,我们继续。 |
同一步失败 2 次自动带过 |
drill_done |
四个方向你都会了。引擎点火,出发! |
D5 |
drill_skip |
跳过演练,直接出发。 |
下滑跳过 |
P 组 · 保护期(5 句)
| id |
台词全文 |
触发 |
protect_left |
训练护盾接住了。那颗在左边,听到左边的呼啸,向左滑。 |
保护期被撞(左) |
protect_right |
训练护盾接住了。那颗在右边,听到右边的呼啸,向右滑。 |
保护期被撞(右) |
protect_up |
训练护盾接住了。那颗在上面,听到高高的呼啸,向上滑。 |
保护期被撞(上) |
protect_down |
训练护盾接住了。那颗在下面,听到低沉的轰隆,向下滑。 |
保护期被撞(下) |
protect_end |
训练护盾关闭。接下来,靠你自己了。 |
第 60 秒 |
F 组 · 单击/双击分批引入(6 句)
| id |
台词全文 |
触发 |
feat_boost |
试试单击,引擎会短促加速,直接冲过空隙。 |
第 20 秒引入 |
feat_boost_done |
感觉到了吗?加速的时候,陨石撞不上你。 |
单击后确认 |
feat_shield |
双击展开护盾,能挡下一次撞击。 |
第 45 秒引入 |
feat_shield_done |
护盾展开后会自动充能,好了我会告诉你。 |
双击后确认 |
shield_ready |
护盾充能完毕。 |
30 秒冷却结束(沿用 R1 id,重录) |
shield_block |
护盾挡下了撞击。 |
护盾生效(沿用 R1 id,重录) |
H 组 · 被撞归因(5 句,保护期后)
| id |
台词全文 |
触发 |
hit_left |
左边撞上的。听到左边的呼啸,向左滑。 |
第 1/2 次被撞(左) |
hit_right |
右边撞上的。听到右边的呼啸,向右滑。 |
右 |
hit_up |
上面撞上的。听到高高的呼啸,向上滑。 |
上 |
hit_down |
下面撞上的。听到低沉的轰隆,向下滑。 |
下 |
hit_last |
船体只剩最后一次了,小心! |
第 2 次被撞后接在方位句后 |
M 组 · 里程碑(4 句)
| id |
台词全文 |
触发(躲过数) |
ms_10 |
十颗了,稳。 |
10 |
ms_25 |
二十五颗,老练的飞行员。 |
25 |
ms_50 |
五十颗,传奇。 |
50 |
ms_100 |
一百颗!天空属于你。 |
100 |
R 组 · 结算(10 句)
| id |
台词全文 |
触发 |
time_1 |
不到三十秒,再试一次。 |
存活 <30s |
time_2 |
超过三十秒,有进步。 |
30~60s |
time_3 |
超过一分钟,合格的飞行员。 |
60~120s |
time_4 |
超过两分钟,王牌飞行员。 |
≥120s |
dodge_1 |
只拨开几颗。 |
躲过 <5 |
dodge_2 |
拨开了十来颗。 |
5~14 |
dodge_3 |
拨开了几十颗。 |
15~49 |
dodge_4 |
拨开了一大群,漂亮。 |
≥50 |
new_record |
新纪录! |
破纪录(插在 time_* 后) |
restart_hint |
单击再飞一次,下滑回大厅。 |
结算尾 |
Y 组 · 菜单与系统(8 句)
| id |
台词全文 |
触发 |
second_run_ask |
上滑重新听演练,单击直接出发。 |
二周目开场 |
menu_main |
菜单。左右滑选择,单击确认。 → 勘误(R 终审):菜单约定已改(00 §5.2),以音频重录版"菜单。单击切换,双击确认。"为准。 |
下滑呼出 |
menu_resume |
继续飞行。 |
菜单项 |
menu_lobby |
回大厅。 |
菜单项 |
menu_help |
重新听教学要点。 |
菜单项 |
help_recap |
左边来向左滑,右边来向右滑,上面来向上滑,下面来向下滑。单击加速,双击护盾。 |
帮助重听(>25 字,生成期拆两句拼接:句 1 四方位,句 2 单击双击) |
settings_hint |
音色、语速、背景音乐,请回大厅修改。 |
菜单内 |
paused |
已暂停。 |
菜单打开时 |
合计 52 句 × 2 性别 = 104 条(×2 格式 = 208 文件)。
旧 id 处置:R1 生成的 num*/n_*/intro1-4/hit1/hit2/gameover/restart 全部弃用(数字拼接与旧教学);shield_ready/shield_block 沿用 id 重录。平铺旧文件按 R1 约定在切换验证后统一清理。
键盘变体(key,P1 输入平权路线 a,24 句)
「生效输入模式=键盘」(settings.input=key,或 auto 且键盘在跟/纯桌面初始判定,
web/engine/gesture.js inputMode())时,引擎 voice 候选链前置加载
web/space/audio/voice/<gender>/key/<id>.{ogg,m4a},变体缺失回退主资产——触屏措辞零改动。
措辞规范(02-input-parity.md §4.3 路线 a + P1 裁定):向左滑→按左方向键(四向同理,
WASD 不进台词);单击/轻触屏幕→按空格;双击→按回车;按住/长按→按住空格;
复合短语(左右滑→左右方向键、滑动→方向键)按语义等价展开;只改操作词,其余
内容一字不动,不新增「重」类多音字。本表与 tools/gen_voice_dual.py 的
KEY_LINES 逐字一致(两表一致铁律:改一处必改另一处)。
资产:×2 性别 = 24×2 条、×2 格式 = 24×4 文件;管线 gen_voice_dual.py --only-variants
生成 → --convert 落盘,终检 tools/check_all_assets.py(key 两性别一致且 ⊆ 主集)。
| id |
键盘台词全文(触屏原句见本表上方对应 id) |
drill_left |
听,左边有陨石。按左方向键,把它拨开! |
drill_right |
这次在右边。按右方向键! |
drill_up |
上面有东西,声音又尖又高。按上方向键! |
drill_down |
下面是低沉的轰隆。按下方向键! |
drill_retry_left |
那是左边来的,按左方向键。 |
drill_retry_right |
那是右边来的,按右方向键。 |
drill_retry_up |
声音又高又尖,是上面,按上方向键。 |
drill_retry_down |
轰隆声在下面,按下方向键。 |
protect_left |
训练护盾接住了。那颗在左边,听到左边的呼啸,按左方向键。 |
protect_right |
训练护盾接住了。那颗在右边,听到右边的呼啸,按右方向键。 |
protect_up |
训练护盾接住了。那颗在上面,听到高高的呼啸,按上方向键。 |
protect_down |
训练护盾接住了。那颗在下面,听到低沉的轰隆,按下方向键。 |
feat_boost |
试试按空格,引擎会短促加速,直接冲过空隙。 |
feat_shield |
按回车展开护盾,能挡下一次撞击。 |
hit_left |
左边撞上的。听到左边的呼啸,按左方向键。 |
hit_right |
右边撞上的。听到右边的呼啸,按右方向键。 |
hit_up |
上面撞上的。听到高高的呼啸,按上方向键。 |
hit_down |
下面撞上的。听到低沉的轰隆,按下方向键。 |
restart_hint |
按空格再飞一次,按下方向键回大厅。 |
second_run_ask |
按上方向键重新听演练,按空格直接出发。 |
menu_main |
菜单。按空格切换选项,按回车确认。 |
help_recap |
左边来按左方向键,右边来按右方向键,上面来按上方向键,下面来按下方向键。按空格加速,按回车护盾。 |
skip_hint |
按空格可跳过旁白。 |
gd_hit_hint |
被撞了。听方位,按对应方向键就能拨开。 |
R5 追加 · space polish 轮新增(2 句 × 2 性别 = 4 条;取证依据 research/space-polish/round1/)
本轮(R5)只追加,不改上方任何旧表。instruct 沿用全表 _SPC 常量(两性别同游戏同 instruct,00 文档 §3.2)。
台词已同步 tools/gen_voice_dual.py 的 SPACE_LINES(两表一致铁律)与 web/harness/voice_text.json 的 space 键。
无键盘变体:两句均不含操作词(space 键盘变体表 24 句不增)。
| id |
台词全文 |
触发 |
protect_soon |
训练护盾还剩十秒。 |
开局第 50s(保护期剩 10s 预告;queue 不顶句,被菜单/分批引入打断由 _rearmRunTimers 补播) |
boost_not_ready |
引擎还在冷却,稍等一下。 |
加速冷却中单击(R5 归因真话:拒绝必须有回音,此前冷却单击全静默);与护盾拒绝共用 4s 去抖 |