18b · 《雨夜专案》语音台词表(voice ids,录音依据)
R2 修订(2026-09-13):总句数 158→171(旁白基表 96→104、V 组键盘变体 10→14、NPC 52→53),上限裁定 160→176;改词 2 句(fin_who_confirm/tut_skip);新增 13 个录制单位(基表 8:fin_pre、st_wrong、recap_cf、gd_board_cf、item_who_w1..w4;NPC 1:z_react_w;V 组 4 对)。逐条修订理由见主设计文末「R2 修订记录」(research/new8/detective/round1/synthesis.md F1-F11)。
实测句长登记(F1 配套):male/intro_1 8.80s、male/sys_help 9.28s、male/key/sys_help 10.48s、female/key/sys_help 9.52s 四句超 8s——游戏侧兜底已升 15s(§4.3),证词链全部 ≤7.4s 不受影响;如重录这 4 句请保持内容不变。
给音频总监的录制说明
- 旁白双性别组(基表 104 句 + V 组键盘变体 14 句):旁白只做系统/指引/教学/状态/现场勘验(探长自勘)/裁决宣读,不念证词。落
web/detective/audio/voice/female|male/<id>.{ogg,m4a},两性别 id 集合完全一致。
- female =
Serena,instruct 常量:沉稳清晰的女声,专案组探长,冷静克制,像在雨夜读卷宗
- male =
Uncle_Fu,instruct 常量:低沉沉稳的男声,专案组探长,冷静克制,像在雨夜读卷宗
- 两常量全表统一(含教学/指证/结案/结算),禁止句级变体、禁语速词(引擎 SoundTouch 变速)。
- NPC 平铺组(53 句):证词=证人 NPC 平铺单音色、不做双性别,落
web/detective/audio/voice/<id>.{ogg,m4a}(引擎平铺回退命中)。NPC ≤5;同一角色 speaker+instruct 恒定;不加电话滤波(区别于 radio——本作区分度靠 speaker+instruct+游戏侧签名 earcon sig_* 前缀,见主设计 §8.2/§3.7)。区分度风险逐个标注:
| 角色 |
speaker |
instruct 常量 |
区分度风险 |
| 老葛(62 岁门卫) |
Eric |
苍老沙哑的男声,守夜人,慢悠悠,带倦意 |
低 |
| 小顺(19 岁学徒) |
Dylan |
年轻清亮的男声,学徒,怯生生的,慌张诚实 |
低 |
| 周先生(45 岁账房,pack A 真凶) |
Uncle_Fu |
平板谨慎的男声,账房,字斟句酌,被追问时渐慌 |
中:与 male 旁白同 speaker——sig_zhou 前缀+账房腔+证词链内零旁白插话,试听确认 |
| 温太太(50 岁房东) |
Vivian |
快嘴泼辣的中年女声,房东太太,嗓门亮,热心肠 |
低 |
| 秦法医 |
Serena |
冷静干练的女声,验尸官,临床腔,短句平直 |
中:与 female 旁白同 speaker——sig_fore 前缀+报告固定语境,试听确认 |
- 声音演技核心:周先生 z_react_1..4(记岔→支吾→拒答→想走)与 z_break_1..3(认罪三段)、pack B 的 b_shun_react/b_shun_break——情绪全部写在句内文本(省略号/破折号引导),instruct 恒定不变。
- 数字规避:进度/疑点/冗余指证全部分档整句(st_asked 7 档 / st_doubt 5 档 / st_miss 3 档);句序号一律不播(指证选句用重播该句代替报「第几句」,交互侧落实拼接禁令);句内时刻数字写死在整句里(十点二十、九点四十)。
- 称呼中性:旁白称玩家「你」,不出现性别化称呼(旁白性别随设置变化不影响证词内容)。
- 多音字自查:全表无「血」「爪」「挨」「壳」;「重新听」统一写法(不用「重听」);已排雷:「当废铜卖了」→「卖给收废品的了」(当 dāng/dàng 歧义)。低风险 3 处标注:「记得真真的」「账算得比谁都精」的「得」(de,助词)、「微驼背」的「背」(bèi)、「疑点,一处」的「处」(chù)——试听异常再改写。
- 键盘变体(V 组):操作提示句在
gesture.inputMode()==='key' 时改播 _k 变体(touch 回基础句);变体与基础句 id 一一对应、集中登记见文末 V 组。
- 管线:
tools/gen_voice_dual.py 照录(SPEAKERS 需新增 detective 行 + DETECTIVE_NPC 平铺表);生成后 --convert 落盘 + tools/check_all_assets.py 终检(双格式配对、双性别集合一致)。
G0 组 · 系统/菜单/帮助(旁白 ×11)
| id |
台词全文 |
触发/语境 |
sys_menu |
菜单。单击切换,双击确认。 |
下滑呼出模态菜单 |
sys_menu_resume |
回到证词板。 |
菜单项 |
sys_menu_cf |
去指证。 |
菜单项(长按捷径的冗余入口,P4) |
sys_menu_save |
保存并回大厅。 |
菜单项 |
sys_menu_help |
重新听帮助。 |
菜单项 |
sys_menu_restart |
重新查这桩案子。 |
菜单项 |
sys_saved |
进度已保存。 |
存档写入后 |
settings_hint |
音色、语速、背景音乐,请回大厅修改。 |
菜单内设置提示 |
sys_help |
左右滑换卷宗,单击听取,双击重新听。长按指证,上滑状态,下滑菜单。 |
菜单内上滑 / 帮助项 |
sys_continue_ask |
检测到未结的案子。单击继续,右滑换一桩新案。 |
有存档进游戏(TITLE) |
sys_new_case |
新案开卷。 |
新案开始 / 菜单重开 |
G1 组 · 开场/教学(旁白 ×12)
| id |
台词全文 |
触发/语境 |
intro_1 |
雨下了一整夜。清晨,聚宝斋后院,古董商沈万川死了。 |
开场链 1(TITLE 上滑重听) |
intro_2 |
你是专案组探长。这桩案子,归你。 |
开场链 2 |
intro_3 |
卷宗六份:四位证人的证词,现场勘验,法医报告。 |
开场链 3 |
tut_d0 |
先熟悉证词板。左右滑,换卷宗。 |
D0 前 |
tut_listen |
单击,听取当前卷宗。 |
D1 前 |
tut_replay |
双击,重新听这一句。 |
D2 前 |
tut_status |
上滑,随时听进度:问了几份,疑点几处。 |
D3 前 |
tut_confront |
按住屏幕,进入指证。去找两句对不上的证词。 |
D4 前(豁免 E2 教学) |
tut_cf_try |
练习一次。选一份证词,单击确认;再选一份,任意一句。 |
D5(判定被教学截获) |
tut_cf_ok |
指证就是这样。练习不算数,真矛盾要靠耳朵找。 |
D5 完成(success 震) |
tut_done |
教学完了。开始查案。 |
D6(进 BOARD) |
tut_skip |
已跳过教学。左右滑换卷宗,单击听取;按住屏幕,指证矛盾。 |
下滑跳过教学(R2 F10 改词:补「按住=指证」核心动词;旧词「已跳过教学。左右滑换卷宗,单击听取。」作废) |
G2 组 · 状态/条目(旁白 ×20)
| id |
台词全文 |
触发/语境 |
st_asked_0 |
六份卷宗,一份都没听。 |
上滑状态链(已听条目数 0) |
st_asked_1 |
已听一份,还有五份。 |
已听 1 |
st_asked_2 |
已听两份,还有四份。 |
已听 2 |
st_asked_3 |
已听三份,还有三份。 |
已听 3 |
st_asked_4 |
已听四份,还有两份。 |
已听 4 |
st_asked_5 |
已听五份,还有一份。 |
已听 5 |
st_asked_6 |
六份都听完了。 |
已听 6 |
st_doubt_0 |
疑点,还没有。 |
状态链第 2 段(疑点 0) |
st_doubt_1 |
疑点,一处。 |
疑点 1 |
st_doubt_2 |
疑点,两处。 |
疑点 2 |
st_doubt_3 |
疑点,三处。 |
疑点 3 |
st_doubt_4 |
疑点,四处,齐了。 |
疑点 4(齐时追加 hint_fin 一次) |
item_w1 |
门卫老葛的证词。 |
条目切换(前缀 sig_ge) |
item_w2 |
学徒小顺的证词。 |
条目切换(sig_shun) |
item_w3 |
账房周先生的证词。 |
条目切换(sig_zhou) |
item_w4 |
房东温太太的证词。 |
条目切换(sig_wen) |
item_scene |
现场勘验。 |
条目切换(sig_scene) |
item_fore |
法医报告。 |
条目切换(sig_fore) |
item_case |
结案陈词。 |
条目切换(无签名,turn earcon);单击进 FINISH |
intro_w3 |
周先生,管了十年的账,见人三分笑。 |
周证词链首(旁白报名,防与 male 旁白混淆的强化锚点) |
G3 组 · 现场勘验(旁白 ×6,探长自勘,sig_scene 前缀链播)
| id |
台词全文 |
触发/语境 |
sc_0 |
你打伞进了后院。雨水顺着瓦檐,淌成一道帘子。 |
现场链 1(无轴) |
sc_1 |
柴房门口,沈万川面朝下倒着。后脑一处伤,现场没有凶器。 |
struggle=none |
sc_2 |
后门门闩完好,是死者自己开的门。生人叫不开这扇门。 |
door=victim_opened |
sc_3 |
泥地上只有进来的脚印,没有出去的。墙根的花盆,翻了一个。 |
wall=climbed |
sc_4 |
库房铜秤立在架上,秤砣不见了。 |
scale=present(M4 对立端) |
sc_5 |
柴房墙上,挂钥匙的铜钩,空着。 |
无轴(叙事佐证,不参与判定) |
G4 组 · 指证(旁白 ×8)
| id |
台词全文 |
触发/语境 |
cf_start |
指证矛盾。先选第一份证词。左右滑换,单击确认。 |
进 CONFROST(turn earcon 同点) |
cf_pick_line |
左右滑,一句一句听。 |
选句相位入口(首次) |
cf_confirm |
就这句?单击,定下来。 |
选句两段确认(重播该句后接播) |
cf_second |
再选与它矛盾的那份证词。 |
第一份定下(自动重播所选句一次) |
cf_self |
同一句证词,和自己比不出矛盾。 |
判定:同一句(真话) |
cf_same |
这两句说得一致,不矛盾。 |
判定:同轴同值(真话) |
cf_diff |
这两句,说的不是一件事。 |
判定:无共享轴(真话) |
cf_hit |
对不上!矛盾成立,记入疑点。 |
判定:命中(contra_hit 音先响) |
G5 组 · 结案三问(旁白 ×24,R2 起 +fin_pre/item_who×4/st_wrong)
| id |
台词全文 |
触发/语境 |
fin_start |
结案陈词。先指认真凶:四位证人,选一个。 |
进 FINISH(choice earcon;R2 F5 起经 fin_pre 闸) |
fin_pre |
证据在手,就此结案?单击,定下来;滑走,继续查。 |
R2 F5 新增:结案确认闸(证词板停「结案陈词」首击播,闸内再击进三问;键盘态播 fin_pre_k) |
item_who_w1 |
门卫老葛。 |
R2 F4 新增:真凶问选项=纯人名(原念卷宗名「门卫老葛的证词。」语义错位) |
item_who_w2 |
学徒小顺。 |
同上 |
item_who_w3 |
账房周先生。 |
同上 |
item_who_w4 |
房东温太太。 |
同上 |
fin_who_confirm |
就指认这位?单击,定下来。 |
真凶问两段确认(重播人名后接播;R2 F4 改词中性化:旧词「就指认他?」对温太太为假,作废;键盘态播 fin_who_confirm_k,R2 补登记) |
fin_clear |
不在场证明成立。证据放人,回到证词板。 |
指认错(acc_NPC 句后接播;无限再机会) |
st_wrong |
错指一回,记档。 |
R2 F9 新增:错指链尾当场记账(fin_clear 后接;评级账目当场可闻) |
fin_right |
证据链闭合。周先生,你还有什么话说? |
pack A 指认对 → 认罪链起(rain_swell 同点) |
fin_right_b |
证据链闭合。小顺,你还有什么话说? |
pack B 指认对 |
fin_ask_weapon |
第二问:凶器是什么? |
凶器问入口 |
wp_1 |
松木劈柴。 |
凶器选项(顺序由 seed 洗牌) |
wp_2 |
铜秤砣。 |
凶器选项(正确答案,两包共用) |
wp_3 |
铁门闩。 |
凶器选项 |
wp_4 |
青瓷花盆。 |
凶器选项 |
fin_wp_right |
对。创口的铜屑,不见了的秤砣,都指向它。 |
凶器答对 |
fin_wp_wrong |
不对。铜屑不答应。记下了。 |
凶器答错(真话归因,不重答) |
fin_ask_motive |
第三问:动机是什么? |
动机问入口 |
mv_1 |
监守自盗。 |
动机选项(正确答案,两包共用) |
mv_2 |
寻仇泄愤。 |
动机选项 |
mv_3 |
劫财入户。 |
动机选项 |
fin_mv_right |
对。库里短的东西,就是引线。 |
动机答对 |
fin_mv_wrong |
不对。账上短的东西,才是引线。记下了。 |
动机答错(真话归因) |
G6 组 · 结算(旁白 ×9)
| id |
台词全文 |
触发/语境 |
settle_open |
案件归档。雨,停了。 |
结算链首句(gavel 后) |
rate_s |
教科书结案。四处疑点,一击即中。 |
S 档(条件见主设计 §7.2,措辞=账目) |
rate_a |
干净利落的结案。 |
A 档 |
rate_b |
案子结了,卷宗上有疏漏。 |
B 档 |
rate_c |
案子是结了,卷宗上补丁不少。 |
C 档(保底/多错) |
st_miss_0 |
指证,一次没错。 |
冗余指证 0 次 |
st_miss_1 |
指证,错过一两回。 |
1-2 次 |
st_miss_2 |
指证,错了不少。 |
≥3 次 |
settle_hook |
同一场雨里,还有别的案子。单击,接新案。 |
结算尾(链锁解除后单击生效;键盘态播 settle_hook_k) |
G7 组 · 看门狗/卡关/纠错(旁白 ×14,R2 起 +gd_board_cf/recap_cf)
| id |
台词全文 |
触发/语境 |
gd_board |
还在证词板。左右滑,换卷宗。 |
BOARD 无操作轨第 1 级(10s,full,idle-only;未听齐时用) |
gd_board_cf |
都听过了。按住屏幕,去指证。 |
R2 F6 新增:六份听齐且疑点未齐时的 BOARD 一级提示(此情「换卷宗」是错指令;键盘态播 gd_board_cf_k) |
gd_cf |
还在选证词。左右滑,单击确认。 |
CONFRONT 无操作轨第 1 级(15s) |
gd_fin |
在想?左右滑选,单击定。 |
FINISH 三问无操作轨第 1 级(20s) |
gd_invalid |
这个操作,这里用不上。 |
无效手势纠错(onceKey 同局 1 次) |
hint_a |
探长,还没听的卷宗,先过一遍耳朵。 |
无进展轨 L2(90s,有未听条目时) |
hint_b |
探长,证词里有对不上的地方,逐句比对。 |
无进展轨 L2(90s,条目听齐但疑点未齐) |
hint_c1 |
试试指证:周先生说熄了灯,温太太说灯还亮着。 |
无进展轨 L3(150s,M1 保底,每句全局限 2 次) |
hint_c2 |
试试指证:周先生说铜秤卖了,现场铜秤还在。 |
L3(M4 保底) |
b_hint_c1 |
试试指证:小顺说熄了灯,温太太说灯还亮着。 |
pack B L3(M1b 保底) |
b_hint_c2 |
试试指证:小顺说铜秤卖了,现场铜秤还在。 |
pack B L3(M4b 保底) |
hint_fin |
疑点齐了。去结案陈词。 |
4 疑点齐(一次)/ 无进展轨 L3(疑点齐时)/ R2 F11 起 L2 疑点齐时同用 / R2 F6 起状态链尾(疑点齐时)同用 |
recap_go |
接着查。 |
中断复述链尾(未听齐时) |
recap_cf |
卷宗都在耳朵里了。挑一句你不信的,按住指证。 |
R2 F6 新增:状态链/复述链尾(六份听齐且疑点未齐时替换 recap_go;键盘态播 recap_cf_k) |
V 组 · 键盘变体(旁白 ×14;gesture.inputMode()==='key' 时替代同名基础句)
| id |
替代基础句 |
台词全文 |
sys_help_k |
sys_help |
方向键换卷宗,空格听取,回车重新听。按住空格指证,上键状态,下键菜单。 |
tut_d0_k |
tut_d0 |
先熟悉证词板。左右方向键,换卷宗。 |
tut_listen_k |
tut_listen |
空格,听取当前卷宗。 |
tut_replay_k |
tut_replay |
回车,重新听这一句。 |
tut_confront_k |
tut_confront |
按住空格,进入指证。 |
gd_board_k |
gd_board |
还在证词板。左右方向键,换卷宗。 |
gd_cf_k |
gd_cf |
还在选证词。左右方向键,空格确认。 |
cf_pick_line_k |
cf_pick_line |
左右方向键,一句一句听。 |
cf_confirm_k |
cf_confirm |
就这句?空格,定下来。 |
settle_hook_k |
settle_hook |
同一场雨里,还有别的案子。按空格,接新案。 |
fin_pre_k |
fin_pre |
证据在手,就此结案?空格,定下来;方向键,继续查。 |
fin_who_confirm_k |
fin_who_confirm |
就指认这位?空格,定下来。 |
recap_cf_k |
recap_cf |
卷宗都在耳朵里了。挑一句你不信的,按住空格指证。 |
gd_board_cf_k |
gd_board_cf |
都听过了。按住空格,去指证。 |
N1 组 · 老葛证词(NPC Eric 平铺 ×6,sig_ge 前缀,链播句间 0.8s)
| id |
台词全文 |
线索标签 |
w1_1 |
昨儿夜里雨大,我守着街门,一步没敢挪窝。 |
无 |
w1_2 |
九点四十,雨点子刚砸下来,小顺打着伞出的街门。 |
rain=2140, dep_s=2140 |
w1_3 |
十点一刻,一位先生收着黑伞进了后巷。个儿高,微驼背。 |
visitor=male_tall_hunched |
w1_4 |
九点五十,周账房出的街门,跟我说了声,回家。 |
dep_z=2150 |
w1_5 |
后半夜,温太太还来门房借过一回热水。 |
无 |
w1_6 |
听说店里账上短了银子,沈老板撂了话,月底清账。 |
motive=short |
N2 组 · 小顺证词(NPC Dylan 平铺 ×6,sig_shun 前缀)
| id |
台词全文 |
线索标签 |
w2_1 |
夜里,师父打发我去城南,给刘掌柜送匣子。 |
away_s=south |
w2_2 |
雨太大,刘掌柜留我住的,今早才回店。 |
away_s=south |
w2_3 |
库房钥匙?师父嫌沉,平日就挂在柴房墙上的铜钩。 |
key=hook |
w2_4 |
师父的账,向来只信周先生一个人。 |
无 |
w2_5 |
后门那闩,生人叫不开。熟人来了,师父才亲自去开。 |
door=victim_opened |
w2_6 |
周先生常念叨,账房的活,越到夜里越清静。 |
无 |
N3 组 · 周先生证词(NPC Uncle_Fu 平铺 ×6,sig_zhou 前缀;pack A 真凶,4 句谎)
| id |
台词全文 |
线索标签 |
z_1 |
我七点进店上夜账。九点五十对完,锁了前门回家。 |
dep_z=2150 |
z_2 |
临走,我顺手熄了店堂的灯。那会儿,店里就剩老板。 |
lamp=off(谎①,M1) |
z_3 |
库房钥匙?沈老板贴身带着,从不离身。 |
key=body(谎②,M2) |
z_4 |
那伤,是松木劈柴砸的。铜秤?上个月卖给收废品的了。 |
weapon=wood, scale=sold(谎③④,M3/M4) |
z_5 |
我到家倒头就睡,夜里的事,一概不知。 |
无 |
z_6 |
你们要是不信,去问我家婆娘。 |
无 |
N4 组 · 温太太证词(NPC Vivian 平铺 ×6,sig_wen 前缀)
| id |
台词全文 |
线索标签 |
wen_1 |
雨是九点四十下的。我正收晾的衣裳,记得真真的。 |
rain=2140 |
wen_2 |
十点二十,我出门倒垃圾。聚宝斋店堂的灯,亮着呢。 |
lamp=on_2220(M1 对立端) |
wen_3 |
刚回屋,柴房后墙咯噔一响,有人爬墙!花盆翻了一个。 |
wall=climbed |
wen_4 |
吓得我蒙头半宿没睡着,天亮才敢吱声。 |
无 |
wen_5 |
店里短银子的事,街坊都有耳闻。上礼拜他还摔了账本。 |
motive=short |
wen_6 |
周账房那人,见人三分笑,账算得比谁都精。 |
无 |
N5 组 · 法医报告(NPC Serena 平铺 ×5,sig_fore 前缀)
| id |
台词全文 |
线索标签 |
fo_1 |
验尸报告,念给你听。 |
无 |
fo_2 |
死亡时间,昨夜十点到十点半。 |
death=2200_2230 |
fo_3 |
后脑单次钝器伤,一击毙命。创口嵌有铜屑,凶器是铜器。 |
weapon=bronze(M3 对立端) |
fo_4 |
死者双手干净,没有搏斗痕迹。 |
struggle=none |
fo_5 |
鞋底是干的。当夜,死者没出过后门。 |
无 |
N6 组 · 反应/被指认/认罪(NPC 平铺 ×12)
R2 F3 修订:hit 反应句按所坐实矛盾的轴取句(原「按累计次数递进」作废——换顺序坐实会答非所问)。pack A 映射:lamp→z_react_1 / key→z_react_2 / weapon→z_react_w(新增)/ scale→z_react_3;疑点 4/4 的一发在轴句后追加收官句 z_react_4。pack B:lamp→b_shun_react_1、其余轴→b_shun_react_2。
| id |
声部 |
台词全文 |
触发/语境 |
z_react_1 |
周先生 |
灯?……许是我记岔了。人上了岁数,记性不济。 |
lamp 轴矛盾坐实(M1) |
z_react_2 |
周先生 |
钥匙的事……他、他有时候,也贴身带着的…… |
key 轴(M2) |
z_react_w |
周先生 |
铜器?……我那是顺口猜的。凶器的事,我怎么会知道。 |
R2 F3 新增:weapon 轴(M3)——慌在刚戳中的凶器上(他本不该知道凶器什么样) |
z_react_3 |
周先生 |
秤!秤的事,你们别再问了…… |
scale 轴(M4) |
z_react_4 |
周先生 |
……随你们怎么问。我要回去了。 |
疑点 4/4 收官句(轴句后追加) |
acc_ge |
老葛 |
我守了一夜门!温太太来借热水,她能作证! |
错指老葛 |
acc_shun |
小顺 |
我宿在城南刘掌柜家,他全家都能作证! |
错指小顺(pack A) |
acc_wen |
温太太 |
我这把年纪翻墙?先问问那墙答不答应! |
错指温太太 |
acc_zhou |
周先生 |
我十点就到家了!我家婆娘能作证! |
错指周先生(pack B) |
z_break_1 |
周先生 |
别念了……我说。库房短的三件货,是我抵了赌债。 |
pack A 认罪 1 |
z_break_2 |
周先生 |
他说月底清账,要报官。我求他,他不肯。 |
认罪 2 |
z_break_3 |
周先生 |
我只想把钥匙放回去,把被盗做真。抡起秤砣的时候,他认出了我。 |
认罪 3 |
N7 组 · 变体包 B fork(NPC 平铺 ×12;pack B 真凶=小顺)
| id |
声部 |
台词全文 |
线索标签/用途 |
b_zhou_1 |
周先生 |
我对完账就回家了,夜里雨大,路上没停。 |
无(替换 z_2 槽位) |
b_zhou_2 |
周先生 |
钥匙?平时就挂在柴房铜钩上,十年了。 |
key=hook(M2b 对立端) |
b_zhou_3 |
周先生 |
柴房我常去,没什么不对劲的。 |
无 |
b_shun_1 |
小顺 |
我走的时候,顺手熄了店堂的灯。 |
lamp=off(谎①,M1b) |
b_shun_2 |
小顺 |
钥匙,师父贴身带着,从不离身。 |
key=body(谎②,M2b) |
b_shun_3 |
小顺 |
那伤,八成是柴房劈柴砸的。铜秤早卖给收废品的了。 |
weapon=wood, scale=sold(谎③④,M3b/M4b) |
b_shun_4 |
小顺 |
库房的货,我一件都没碰过。 |
无(欲盖弥彰 filler) |
b_shun_react_1 |
小顺 |
灯?我、我走的时候明明熄了…… |
第 1 处矛盾坐实 |
b_shun_react_2 |
小顺 |
别问了……别问了…… |
第 2-4 处(复用) |
b_shun_break_1 |
小顺 |
匣子是我送的,可我半路折回来了…… |
认罪 1 |
b_shun_break_2 |
小顺 |
我把棉袄反穿,弓着背,葛大爷没认出我。 |
认罪 2(解释 w1_3 访客描述) |
b_shun_break_3 |
小顺 |
库房的货,我拿过三件换了钱。他说要对账……秤砣下去的时候,他看着我。 |
认罪 3 |
合计:171 句 ≤176 上限(R2 修订,原 158 ≤160 作废)(旁白基表 104 句 ×2 性别 = 208 条 + 键盘变体 V 组 14 句 ×2 性别 = 28 条 + NPC 平铺 53 条 = 289 条音频 ×2 格式 = 578 文件)。
分组账:旁白基表 104 = G0 11 + G1 12 + G2 20 + G3 6 + G4 8 + G5 24(18 + fin_pre + item_who×4 + st_wrong)+ G6 9 + G7 14(12 + gd_board_cf + recap_cf);V 组 14(10 + fin_pre_k + fin_who_confirm_k + recap_cf_k + gd_board_cf_k);NPC 53 = N1-N5 29 + N6 12(11 + z_react_w)+ N7 12。
指证命中链 = contra_hit(sfx)→ cf_hit → react_按轴(4/4 追加 reactFinal,R2 F3);miss 链 = contra_miss(sfx)→ cf_same/cf_diff/cf_self;
认罪链(pack A)= fin_right → z_break_1..3 → gavel → settle_open → rate_X → st_doubt_n → st_miss_档 → settle_hook;
状态链 = st_asked_n → st_doubt_m →(尾句:recap_go / recap_cf(听齐未破,R2 F6)/ hint_fin(疑点齐,R2 F6));中断复述链 = st_asked_n →(未听 ≤3 时)item_* 名链 → st_doubt_m → 同尾句;
错指链 = acc_NPC → fin_clear → st_wrong(R2 F9);结案入口 = fin_pre 闸(R2 F5)→ fin_start。
矩阵验算与触发逻辑对照 18-detective.md §3-§7;资产规模核对见其 §8。