配对码与认领(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 在途)
24 KiB
24 KiB
15b · 《不眠频率》(radio) 语音台词表(voice ids,录音依据)
给音频总监的录制说明
- 双性别组(主播 HOST + 导播/系统 PROD,103 句):落
web/radio/audio/voice/female|male/<id>.{ogg,m4a},两性别 id 集合完全一致。
- HOST(主播=玩家):female =
Serena,instruct 常量温暖清晰的年轻女声,深夜电台主播,沉稳亲切,不甜腻;male =Uncle_Fu,instruct 常量低沉温和的中年男声,深夜电台主播,沉稳亲切,有磁性。- PROD(导播/系统音/向导 gd_*):female =
Vivian,instruct 常量贴近耳机的低语女声,年轻电台导播,冷静克制;male =Dylan,instruct 常量贴近耳机的低语男声,年轻电台导播,冷静克制。- 区分度设计:主播(播音腔,对外广播)与导播(贴耳低语,只进你耳机)共用 speaker 池但不同 speaker 配对——female 侧主播 Serena / 导播 Vivian、male 侧主播 Uncle_Fu / 导播 Dylan,同场景高频对话的两者永不同 speaker。
- NPC 平铺组(29 句):单音色、不做双性别,平铺落
web/radio/audio/voice/<id>.{ogg,m4a}(引擎平铺回退命中),转码时按 §通话滤波 加带通。NPC 共 5 人(≤5 约束),同一角色 speaker+instruct 恒定,区分度风险逐个标注:
角色 speaker instruct 常量 区分度风险 老周(75 岁走丢老人) Uncle_Fu苍老沙哑的男声,七十五岁,疲惫害怕,带着雨夜的颤抖中:与 male 主播同 speaker,靠年龄感 instruct + 电话滤波(500-2800Hz)区分,请试听确认 小鹿(想退票的年轻人) Serena年轻女声,倔强,带着哭腔,疲惫中:与 female 主播同 speaker,靠哭腔 instruct + 电话滤波区分,请试听确认 糖糖(失眠的孩子) Vivian稚嫩童声,八岁小女孩,困倦,胆怯低:与 female 导播同 speaker,童声 vs 成年低语,且从不同场 陈姐(争吵的夫妻·妻) Vivian疲惫沙哑的中年女声,四十五岁,强撑着平静低:与糖糖/导播同 speaker 不同 instruct,三者从不同场,请试听确认 老韩(雨夜司机) Eric沙哑粗犷的中年男声,货车司机,困倦强撑低:male 侧唯一 Eric - 通话滤波(转码侧):NPC 全部走带通(参数见 15-radio.md §6.2:老周 500-2800 / 小鹿 400-3400 / 糖糖 450-3000 / 陈姐 420-3100 / 老韩 300-3400,均 + 轻压缩);HOST/PROD 不滤波。试听不可读的句子回退未滤波原声(宁窄勿脏)。
- 称呼规则:来电者对主播的称呼一律中性(「主播」「您」),全表禁用「闺女/小哥/叔叔/阿姨/大姐头」类性别化称呼(主播性别随用户设置变化);「大姐/姑娘」仅可作来电者的自称或被导播描述。
- 数字规避:序号/口碑全部分档整句(prog_c1..c5、rep_*);句内数字(十一点半、三公里、四十分钟前)写死在整句里,禁止运行时拼接。
- 禁语速词:instruct 不含任何语速描述(引擎 SoundTouch 变速);NPC 句靠短句+逗号停顿实现「语速放缓」听感。
- 管线:
tools/gen_voice_dual.py照录(SPEAKERS 表需新增 radio 行);多音字自查见文末注记。
G0 组 · 系统/向导/状态(PROD 双性别 ×24)
| id | 台词全文 | 触发 |
|---|---|---|
gd_brief |
单击继续节目。请选择的时候,向左或向右滑。 | 开场链最前(full 档,F8 先例) |
gd_continue |
单击屏幕,继续。 | 叙事链末静默看门狗第 1 级(full 25s / standard 13s) |
gd_again |
还在吗?单击继续。 | 看门狗第 2 级(50s / 30s),新句不逐字重播 |
gd_invalid |
这个手势,直播间里用不上。 | 无效手势(error 震,idle-only,同局限次) |
gd_ring1 |
热线在闪。单击,接听。 | RING 静默 10s(第 1 级) |
gd_ring2 |
灯还亮着,听众在等。单击,接听。 | RING 静默 25s(第 2 级,必须与第 1 级不同句) |
sys_help |
单击继续,双击重新听。上滑听状态,下滑开菜单。请选择时,左右滑。 | 上滑帮助 / 菜单内上滑 |
sys_menu |
菜单。单击切换选项,双击确认。 | 下滑呼出模态菜单 |
sys_menu_resume |
回到直播。 | 菜单项 |
sys_menu_restart |
重新开始今晚。 | 菜单项 |
sys_menu_lobby |
保存并回大厅。 | 菜单项(确认后跳转前播) |
sys_settings |
音色、语速、背景音乐,请回大厅修改。 | 菜单内设置提示 |
sys_skip |
想跳过这句,单击就行。 | 开场每局一次(skip_hint 先例) |
sys_continue_ask |
检测到你的夜班记录。单击继续上次,右滑开始新的夜晚。 | 有存档进游戏 |
sys_new_night |
新的夜晚,开始了。 | 新夜班开始 / 菜单重开 |
sys_saved |
进度已保存。 | 存档写入后 |
prog_c1 |
现在是今晚第一通电话。 | 上滑状态链(按当前通号选播) |
prog_c2 |
现在是今晚第二通电话。 | 同上 |
prog_c3 |
现在是今晚第三通电话。 | 同上 |
prog_c4 |
现在是今晚第四通电话。 | 同上 |
prog_c5 |
现在是今晚第五通电话。 | 同上 |
rep_high |
今晚的口碑,在听众里立住了。 | 口碑跨入 ≥5 档(BRIDGE 被动播报) |
rep_mid |
今晚的口碑,不好不坏。 | 口碑回落 1-4 档 |
rep_low |
今晚的口碑,还没立起来。 | 口碑 ≤0 档(零起步语义,R2 F2 改词:rep=0 开播前不再读成「砸了」;附 warning 震动) |
G1 组 · 开场(双性别 ×4)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
b_open |
主播 | 午夜零点,红灯亮起。欢迎回到《今夜不眠》。 | INTRO(配 sfx/onair_sting) |
b_rain |
主播 | 雨下了一整晚。热线灯,马上就要亮了。 | INTRO |
b_rule |
导播 | 台里的规矩就一条:先接住人,再接电话。 | INTRO(一句规矩,P4) |
b_goal |
导播 | 今晚五通电话。说什么话,由你决定。 | INTRO,随后第一声铃 |
C1 组 · 第一通·老周(走丢的老人)(双性别 13 + 老周平铺 7 = 20)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
z1_ring_in |
导播 | 一线来电。七十多岁,雨夜,走丢了。 | 接听后线路引入(配 line_connect) |
z1_a |
老周 | 主播……我,我找不到回家的路了。 | 通话主干 |
z1_b |
老周 | 雨太大了。我本来,只想买副老花镜。 | 通话主干(垫 amb_rain_city) |
p1 |
导播 | 老人在发抖。向左滑,陪他哼那首老歌。向右滑,冷静问他路口的路牌。 | 抉择提示(播完即可选) |
z1_song |
主播 | 大爷别急,这首歌我也会。咱们一句一句来。 | p1 左(称呼「大爷」指对方,中性合规) |
z1_songo |
老周 | 对,对!路口修车铺,天天放这首! | p1 左·反应(正反馈:声音稳住) |
z1_sdone |
导播 | 他稳住了。老歌,比路牌管用。 | p1 左·收 |
z1_ask |
主播 | 大爷,路口有什么招牌?念一个给我听听。 | p1 右 |
z1_asko |
老周 | 招牌……雨糊住了,我眼花,看不清啊…… | p1 右·反应(慌) |
z1_adone |
导播 | 他慌了。先接住情绪,再走流程。 | p1 右·收(即时纠偏,非归因) |
p2 |
导播 | 雨声更密了。向左滑,留在原地陪他等巡逻队。向右滑,转接派出所。 | 抉择提示 |
z1_stay |
主播 | 哪儿也不去。我陪你,这首歌还长着呢。 | p2 左 |
z1_stayo |
老周 | 好,好。有人说话,我就不怕了。 | p2 左·反应 |
z1_staye |
导播 | 十五分钟后,巡逻灯停在路口。全城听见老人笑了。 | p2 左·收(数字整句内嵌) |
z1_pol |
主播 | 大爷,我把您转给派出所,他们马上就到。 | p2 右(p1=左 时) |
z1_polo |
老周 | 好,好。谢谢你啊,谢谢。 | p2 右·反应 |
z1_pole |
导播 | 转接完成,地址报得清。干净利落。 | p2 右·收(p1=左 时) |
z1_bad |
老周 | 说不清……我真是,说不清了…… | p2 右(仅 p1=右 时,替代 z1_polo/z1_pole 前段) |
z1_bade |
导播 | 地址没报清就转接,雨又大。这通砸了。先稳人,再办事。 | 归因句(真话律:指向玩家实际两连选) |
z1_ok1 |
导播 | 就这么接。记住这个手感。 | 首通成功收尾确认(全局一次,成功后无其他教学) |
C2 组 · 第二通·小鹿(想退票的年轻人)(双性别 6 + 小鹿平铺 4 = 10)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
l1_in |
导播 | 二线来电。姑娘,声音很轻,像怕吵到谁。 | 接听引入(「姑娘」描述来电者,合规) |
l1_a |
小鹿 | 主播,退票窗口十一点半就关了。我站这儿半小时了。 | 通话主干(垫 amb_station) |
l1_b |
小鹿 | 票是回去看我妈的。可我试镜又黄了,两手空空…… | 通话主干 |
p3 |
导播 | 向左滑,告诉她这趟车值得上。向右滑,把选择还给她。 | 抉择提示 |
l1_go |
主播 | 你妈等的不是奖杯,是你进门喊的那声妈。 | p3 左 |
l1_goo |
小鹿 | 呜……嗯。不退了,我现在就去检票。谢谢您。 | p3 左·反应 |
l1_goe |
导播 | 二线收工。这句话,值一个头条。 | p3 左·收 |
l1_free |
主播 | 退不退,都是你的自由。夜还长,慢慢想。 | p3 右 |
l1_freeo |
小鹿 | 嗯……我再想想。窗口要关了,我先过去了。 | p3 右·反应 |
l1_freee |
导播 | 她走了。没上车,也没退票。年轻人的夜,长了点。 | p3 右·收 |
C3 组 · 第三通·糖糖(失眠的孩子)(双性别 10 + 糖糖平铺 6 = 16)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
k1_in |
导播 | 三线来电。听呼吸,是个小孩。 | 接听引入 |
k1_a |
糖糖 | 喂……有人吗?我睡不着。 | 通话主干(垫 amb_kid_room) |
k1_b |
糖糖 | 家里灯关了。可是楼下,一直有声音。 | 通话主干(配 sfx/arg_muffled 线索音) |
p4 |
导播 | 向左滑,唱一段摇篮曲哄她睡。向右滑,轻轻问她怎么了。 | 抉择提示 |
k1_lull |
主播 | 闭上眼睛。风把云朵盖在被子上,月亮替你值夜班。 | p4 左(错过线索路线) |
k1_lullo |
糖糖 | 月亮也睡了……那我也睡。 | p4 左·反应 |
k1_lulle |
导播 | 睡着了。可你没听见,她在怕什么。 | p4 左·收(诚实复盘,非惩罚) |
k1_ask |
主播 | 睡不着的时候,心里是不是装着事?说给我听听。 | p4 右(置 heardArgument=true) |
k1_asko |
糖糖 | 爸爸妈妈摔门了。是不是……我做错了什么呀。 | p4 右·反应 |
p5 |
导播 | 孩子的声音在抖。向左滑,告诉她这不是她的错。向右滑,答应她明天都会好。 | 抉择提示(仅 p4=右 可达) |
k1_truth |
主播 | 糖糖,记住,大人的事,不是小孩的错。一个字都不是。 | p5 左 |
k1_trutho |
糖糖 | 嗯……那我睡了。他们明天,会一起给我切蛋糕吗? | p5 左·反应 |
k1_truthe |
导播 | 蛋糕。记下来——四线的来电,可能跟这个家有关。 | p5 左·收(flag 预告) |
k1_lie |
主播 | 睡吧。明天一睁眼,什么都会好起来的。 | p5 右(善意谎言) |
k1_lieo |
糖糖 | 真的吗?拉钩。晚安…… | p5 右·反应 |
k1_liee |
导播 | 你许了个兑不了的现。孩子睡了,谎留下了。 | p5 右·收(诚实复盘) |
C4 组 · 第四通·陈姐(争吵的夫妻)(双性别 13 + 陈姐平铺 7 = 20)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
w1_in |
导播 | 四线来电。户外风声大,是位大姐。 | 接听引入(垫 amb_street_rain) |
w1_a |
陈姐 | 主播,我就想找个人说说。我家那口子,今晚要出远门的活儿。 | 通话主干 |
w1_b |
陈姐 | 明天孩子生日!蛋糕都订好了,他人要今晚走! | 通话主干 |
p6 |
导播 | 摔门声你听见了。向左滑,替孩子给她带句话。向右滑,劝她回家把话说开。 | 抉择提示(固定文本,两条件路线共用) |
w1_say |
主播 | 四十分钟前,有个孩子问我们:爸妈摔门,是不是她的错。 | p6 左·条件 heardArgument=true |
w1_sayo |
陈姐 | 什么?她还没睡?这么晚了,她还醒着? | w1_say·反应 |
w1_saye |
导播 | 她攥着电话,很久没出声。风都停了。 | w1_say·收 |
w1_say2 |
主播 | 今天有位小朋友,还在等爸妈回家切蛋糕。 | p6 左·条件 heardArgument=false |
w1_say2o |
陈姐 | 蛋糕……是他订的。他嘴上不说,心里都记着。 | w1_say2·反应 |
w1_say2e |
导播 | 话递到了。就差最后一脚。 | w1_say2·收 |
p7 |
导播 | 她的呼吸平了。向左滑,留在直播里,让全城等这个门铃。向右滑,换垫乐,私下陪她说完。 | 抉择提示(仅 p6=左 可达) |
w1_air |
主播 | 陈姐,别挂。让他接电话——全城都在听。 | p7 左(留在直播) |
w1_airo |
陈姐 | 喂!回来吧!蛋糕要化了,孩子等着呢! | p7 左·反应(对电话那头喊) |
w1_aire |
导播 | 电话那头,传来跑步声。今晚的高光时刻。 | p7 左·收 |
w1_priv |
主播 | 这里只有我们俩了。想说就说,想哭就哭。 | p7 右(换垫乐私聊) |
w1_privq |
陈姐 | 呜……其实他订完蛋糕就跟我道歉了。是我,把门摔得太响。 | p7 右·反应 |
w1_prive |
导播 | 灯牌是你亲手关的,故事还是完整的。稳。 | p7 右·收 |
w1_home |
主播 | 吵架隔着电话吵不赢。回家吧,蛋糕别放到坏了。 | p6 右(本通结束,无 p7) |
w1_homeo |
陈姐 | 嗯……我这就往回走。谢谢你,听我瞎嚷嚷。 | p6 右·反应 |
w1_homee |
导播 | 她往回走了。成不成,看他们自己的了。 | p6 右·收 |
C5 组 · 第五通·老韩(雨夜司机·高潮)(双性别 8 + 老韩平铺 5 = 13)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
h1_in |
导播 | 五线来电。引擎声没停过——他在开车! | 接听引入(垫 amb_cab) |
h1_a |
老韩 | 主播,别挂。陪我说话,我的眼皮,沉得很。 | 通话主干 |
h1_b |
老韩 | 跑完这趟,闺女的学费就齐了。雨刷都快刮不动了。 | 通话主干(「闺女」指其女儿,合规) |
p8 |
导播 | 方向盘比话筒危险。向左滑,陪他聊聊闺女。向右滑,让他立刻进服务区。 | 抉择提示 |
h1_talk |
主播 | 说说她。开学第一天,她跟你说的头一句话,是什么? | p8 左 |
h1_talko |
老韩 | 她说,爸,我在学校给你赚了朵小红花。哈哈,哈哈…… | p8 左·反应 |
h1_danger |
导播 | 车道偏了——听! | 危机拍(前 2s 起 brake_screech 渐强 + danger 签名同窗) |
h1_dango |
老韩 | 嘶——好险!前车急刹,我擦着护栏过去了。彻底醒了! | 危机拍·化解 |
h1_talke |
导播 | 吓醒的,也算醒。这一趟,聊到家。 | p8 左·收 |
h1_stop |
主播 | 听我的,前面三公里有服务区。学费急,命更急。 | p8 右 |
h1_stopo |
老韩 | 行,听你的。进了服务区,我给你们放首歌听。 | p8 右·反应 |
h1_stope |
导播 | 他下了高速。单子黄了,人齐了。 | p8 右·收 |
h1_echo |
导播 | 对了。头通电话那位大爷,就是这片被巡逻队找到的。这城市的夜,是接着的。 | 插播回响(条件 bond_zhou=true,queue) |
D9 组 · 签收抉择(心结)(双性别 6)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
g9_in |
导播 | 五线收工。垫乐起——零点档,还剩最后一段。 | C5 后 BRIDGE→签收(配 bgm/bridge) |
p9 |
导播 | 留言机红灯在闪,是老主播三年前没播完的那句晚安。向左滑,替他播出去。向右滑,照常收播。 | 抉择提示(39 字,全表最长句) |
d9_face |
主播 | 师父,三年了。这句晚安,我替您播。各位,晚安。 | p9 左(knot=解;配 tape_static) |
d9_facee |
导播 | 带子里其实只有电流声。但空着的那一秒,你说满了。 | p9 左·收(老主播不配音,电流声留白) |
d9_avoid |
主播 | 各位,今晚到这里。明晚零点,今夜不眠,不见不散。 | p9 右 |
d9_avoide |
导播 | 留言机的红灯,又多亮了一夜。 | p9 右·收(开环钩子) |
EP 组 · 结局与尾声回响(双性别 19;结局 8 + 回响 11)
| id | 声部 | 台词全文 | 触发 |
|---|---|---|---|
e1_a |
主播 | 天亮了,热线灯还亮着。你们的晚安,是这座城市的心跳。 | 结局 e1(rep≥5 且直面)主句 |
e1_b |
主播 | 这把话筒,我总算接得住了。明晚零点,接着不眠。 | e1 收(钩子) |
e2_a |
主播 | 今晚的热线烧得发烫。全城的失眠者,都被接住了。 | 结局 e2(rep≥5 且回避)主句 |
e2_b |
主播 | 只是路过留言机的时候,你还是没敢看它。红灯灭得很慢。 | e2 收(钩子) |
e3_a |
主播 | 口碑掉了一夜。可那句迟到三年的晚安,今晚说出去了。 | 结局 e3(rep<5 且直面)主句 |
e3_b |
主播 | 一个人的频道,也是频道。师父,收到了吗? | e3 收(钩子) |
e4_a |
主播 | 今夜不眠,静音收播。有的夜班,谁也接不住谁。 | 结局 e4(rep<5 且回避)主句 |
e4_b |
主播 | 留言机还在闪。你没看它,它也没怪你。明晚再说吧。 | e4 收(钩子;含 e4 复盘,不另配归因句) |
ep_lead |
导播 | 收播了。导播间替你记了一笔账——今晚的人都怎样了。 | 结局链后尾声引入 |
ep_zhou_ok |
导播 | 老周:孙子替他买了老花镜。回信说,谢谢那首歌。 | 尾声(bond_zhou=1) |
ep_zhou_no |
导播 | 老周在便利店屋檐下坐到天亮。没出事,也没人听见他的歌。 | 尾声(bond_zhou=0) |
ep_deer_ok |
导播 | 小鹿上车了。她妈后来打电话说,那声妈,比奖杯值钱。 | 尾声(bond_deer=1) |
ep_deer_no |
导播 | 小鹿退了票。检票口的灯,记得那趟没上成的车。 | 尾声(bond_deer=0) |
ep_kid_ok |
导播 | 糖糖家的门,这个月没再摔过。她说这是主播魔法。 | 尾声(bond_kid=1) |
ep_kid_no |
导播 | 糖糖后来又打来过一次。还是那句:楼下在吵。 | 尾声(bond_kid=0) |
ep_wife_ok |
导播 | 陈姐家切了蛋糕。那句「回来吧」,是我这晚听过最好的声音。 | 尾声(bond_wife=1) |
ep_wife_no |
导播 | 陈姐在公车站坐到了末班车。那通电话,成了没寄出的信。 | 尾声(bond_wife=0) |
ep_han_ok |
导播 | 老韩到家了。后视镜上,多了朵小红花。 | 尾声(bond_han=1) |
ep_han_no |
导播 | 老韩在服务区睡了一觉。学费齐了,那首歌没放成。 | 尾声(bond_han=0) |
合计:132 句(GPU 预算 ≤170 ✓)
- 双性别 103 句(HOST 21 + PROD 82)×2 性别 = 206 文件;
- NPC 平铺 29 句(老周 7 / 小鹿 4 / 糖糖 6 / 陈姐 7 / 老韩 5)= 29 文件;
- 合计 235 条音频 ×2 格式(ogg+m4a)= 470 文件。
- 每结局专属台词齐备:e1/e2/e3/e4 各 2 句(ep 组前 8 行)+ 尾声回响 11 句共用。
- 每局实走抉择 8-9 个(p5 仅 p4=右、p7 仅 p6=左 可达),抉择提示 p1..p9 共 9 个。
多音字 / 发音风险自查注记
| 风险词 | 处理 |
|---|---|
| 重听 | 全表写「重新听」(sys_help),无「重听」字样 |
| 切(qiē/qiè) | 「切垫乐」写「换垫乐」(p7);「切蛋糕」「切了蛋糕」为正确常用读法,保留 |
| 挣(zhēng/zhèng) | 「挣钱」写「赚了朵小红花」(h1_talko) |
| 巷(xiàng/hàng) | 全表不用「巷」,写「路口」 |
| 答录机(dā lù jī) | 全表用「留言机」,规避 |
| 颤(chàn) | 台词侧用「发抖」(z1_a 触发/语境、instruct 描述不受影响,instruct 不进语音) |
| 哄(hōng/hǒng) | 「哄她睡」为 hǒng 常用读法,保留,试听确认 |
| 宿/血/露/降/率/传(zhuàn 义) | 全表未使用 |
| 了(le/liǎo)、还(hái/huán)、得(de/děi) | 常规句式常见读法,逐句人工试听项(z1_staye「听见了」、l1_goe 等) |
| 数字 | 句内数字全部写死(十一点半/十五分钟/三公里/四十分钟前/零点),序号用分档整句(prog_c1..c5) |
台词侧自查
- 单句 ≤40 字:全表最长 = p9(37 字),次长 sys_help(26 字)✓;NPC 句平均 ≤18 字(P4 语速感靠短句+逗号,不用 instruct 语速词)✓。
- NPC ≤5 人、speaker+instruct 恒定、区分度风险逐个标注 ✓。
- 称呼合规:来电者对主播只用「主播/您/谢谢你」,性别化称呼仅指向来电者自身或第三方 ✓。
- 每个结局(e1..e4)专属主句+钩子各 2 句齐备,尾声救/错过双线齐备 ✓。
- 归因真话律:负向收尾句(z1_bade/k1_lulle/k1_liee/ep_*_no/e4_b)全部指向玩家实际选择,无假归因句 ✓。
- 向导 gd_* 6 句(gd_brief/gd_continue/gd_again/gd_invalid/gd_ring1/gd_ring2)符合 14 号 §6 台词规范(一句一义、无重复句式、单句 ≤15 字)✓。
键盘变体(key,P1 输入平权路线 a,18 句)
「生效输入模式=键盘」(settings.input=key,或 auto 且键盘在跟/纯桌面初始判定,
web/engine/gesture.js inputMode())时,引擎 voice 候选链前置加载
web/radio/audio/voice/<gender>/key/<id>.{ogg,m4a},变体缺失回退主资产——触屏措辞零改动。
措辞规范(02-input-parity.md §4.3 路线 a + P1 裁定):向左滑→按左方向键(四向同理, WASD 不进台词);单击/轻触屏幕→按空格;双击→按回车;按住/长按→按住空格; 复合短语(左右滑→左右方向键、滑动→方向键)按语义等价展开;只改操作词,其余 内容一字不动,不新增「重」类多音字。本表与
tools/gen_voice_dual.py的KEY_LINES逐字一致(两表一致铁律:改一处必改另一处)。 资产:×2 性别 = 18×2 条、×2 格式 = 18×4 文件;管线gen_voice_dual.py --only-variants生成 →--convert落盘,终检tools/check_all_assets.py(key 两性别一致且 ⊆ 主集)。
| id | 键盘台词全文(触屏原句见本表上方对应 id) |
|---|---|
gd_brief |
按空格继续节目。请选择的时候,按左或右方向键。 |
gd_continue |
按空格,继续。 |
gd_again |
还在吗?按空格继续。 |
gd_ring1 |
热线在闪。按空格,接听。 |
gd_ring2 |
灯还亮着,听众在等。按空格,接听。 |
sys_help |
按空格继续,按回车重新听。按上方向键听状态,按下方向键开菜单。请选择时,左右方向键。 |
sys_menu |
菜单。按空格切换选项,按回车确认。 |
sys_skip |
想跳过这句,按空格就行。 |
sys_continue_ask |
检测到你的夜班记录。按空格继续上次,按右方向键开始新的夜晚。 |
p1 |
老人在发抖。按左方向键,陪他哼那首老歌。按右方向键,冷静问他路口的路牌。 |
p2 |
雨声更密了。按左方向键,留在原地陪他等巡逻队。按右方向键,转接派出所。 |
p3 |
按左方向键,告诉她这趟车值得上。按右方向键,把选择还给她。 |
p4 |
按左方向键,唱一段摇篮曲哄她睡。按右方向键,轻轻问她怎么了。 |
p5 |
孩子的声音在抖。按左方向键,告诉她这不是她的错。按右方向键,答应她明天都会好。 |
p6 |
摔门声你听见了。按左方向键,替孩子给她带句话。按右方向键,劝她回家把话说开。 |
p7 |
她的呼吸平了。按左方向键,留在直播里,让全城等这个门铃。按右方向键,换垫乐,私下陪她说完。 |
p8 |
方向盘比话筒危险。按左方向键,陪他聊聊闺女。按右方向键,让他立刻进服务区。 |
p9 |
留言机红灯在闪,是老主播三年前没播完的那句晚安。按左方向键,替他播出去。按右方向键,照常收播。 |