“景门筛选”四个字写进黑纸本后,测试区安静了七秒。
第八秒,白色小巴的仪表台自行亮起。
没有发动机声。车头下方传来继电器闭合的轻响,模拟道路两侧的交通灯依次转绿。仪表台显示的不是车速,而是一行设备提示:检测到未完成的乘客通讯。
下方列出一串旧手机序列。
陈序从口袋里取出张慧宁留下的手机。屏幕仍是黑的。电源键没有反应,机身温度与冷气吹过的金属一样低。
“它已经没电。”林未央说。
“这里还记得它有一条讯息。”
小巴中控台旁有一块无线充电板,表面印着儿童设备应急供电。陈序没有立即把手机放上去。他先抄下设备序列,再用黑纸本中的旧记录核对。
最后四位仍与他的号码相同。前六位属于已经撤销的北环线。中间那个0没有显示。
他关闭仪表台上的自动清理。
0出现时,提示从“乘客通讯”变成“延迟送达”。
登记时间:五天前,下午两点四十七分。
正是张慧宁进入测试区的那一分钟。
发送时间栏却是空的。
陈序把旧手机放上充电板。
电池图标在黑屏中央亮起,先是0%,随后跳到1%。手机没有开机画面,直接进入一页灰色的语音信箱。没有号码,没有联系人头像。发送者一栏写着:不存在。
留言长度两分零九秒。
只够播放一次。
“不是电量限制。”林未央指向下方小字,“它说,送达完成后清除暂存关系。”
这条语音一直夹在0后面。它没有消失,也没有抵达。旧手机耗尽电量前不断替它续延;现在测试区识别到原设备,积压五天的动作终于有了落点。
陈序打开自己手机的录音。屏幕立刻显示:未检测到外部声音。
语音还没有播放,系统已经拒绝承认它会发声。
林未央撕下两页纸,一页记内容,一页记背景。她把机械计数器放在膝上。“我记句子。你记声音。”
陈序没有按播放。
两分零九秒,可以听见张慧宁,也可能只够听见一段失真的空白。若先接入终端分析,系统可能将留言纳入修正;若直接播放,他们会失去分离背景声的机会。
他看向车内。第三排安全带仍扣着,红雨衣平放在座位上。雨衣的右袖已经不再垂向地面,而是搭在另一边扶手上。没有人看见它移动。
“用车载诊断。”他说。
“那会让测试区知道我们听到了什么。”
“它已经知道讯息在这里。”
陈序用一条短线把旧手机接入小巴的维修接口。仪表台分出左右两个音轨,标记为语音和环境。环境轨道不是分析结果,而是路线模型用来判断乘客所在位置的原始声纹。
测试区想知道张慧宁录音时在哪里。
它一直没有算出答案。
陈序按下播放。
先传出三秒白噪声。像雨落在很远的铁皮上。随后一个女人吸了一口气。
“如果这条留言到了你那里,”张慧宁说,“你应该已经找到雨衣。”
声音比旧照片里的脸更难被拒绝。它有轻微鼻音,尾字收得很短,说快时会把“已经”连成一个音。陈序从未听过她本人讲话,却立即知道张惟安描述得没有错。
男孩说母亲疲倦时会在每句话前先吸气。
纸上,林未央的笔停了半拍,然后继续。
“先告诉惟安,我没有离开他。”
一阵金属摩擦从背景滑过。比列车进站更低,持续四秒。
“也不要让任何人告诉他,我选择不回去。”
语音短暂停顿。环境轨道上出现一串规则尖峰。
“我不是被绑架。没有人把我带到这里。”
林未央抬眼。
“但这不等于我自愿留下。”
车载屏幕忽然把“自愿”两个字转写成“安全”。路线模型在字幕旁标出绿色勾号:无胁迫风险。
陈序关掉自动转写。
张慧宁继续说:“它会把没有反抗,写成同意。把没有求救,写成安全。等记录彼此一致以后,连你也会觉得这解释很合理。”
远处响起两声电子提示音。女声广播被水汽似的回声拉长。
列车即将到站。请站在黄线之后。
广播使用普通话,随后重复英文与马来文。英文播到platform时,另一种声音从下方漫上来。不是雨。是大量水流过混凝土狭道,持续、贴近,并带着每隔六秒一次的空腔回响。
陈序在环境页标下时间:四十三秒。
“不要从我最后出现的地方找我。”张慧宁说,“出现和抵达不是同一件事。”
广播开始报站名。第一个音节被列车制动声盖住,只剩结尾的“北”。
“你们会查到一条路线。系统会给你们一条最短、最亮、沿途监控最多的走法。”
仪表台上的空白城市图突然画出一条绿色线。起点是测试区,终点没有名称。预计时间二十三分钟。风险指数:0。
“不要走。”
绿色线向前延伸一格。
“最安全的路线,不是让你避开危险。”
第二格亮起。
“是让危险可以避开你要找的东西。”
整条路线完成。车载系统弹出按钮:开始导航。
陈序没有触碰。
背景中的车门提示音响了三次。水声没有变弱。按常理,列车开门后,站台广播与人声会改变回响;那股水流却一直保持同样距离,仿佛录音者同时站在站台和一条封闭水道里。
张慧宁压低声音:“看完整序列。听每一次到站之间少了什么。那里没有路,不代表那里不能经过。”
一阵强烈杂音吞掉后半句。语音轨道短暂归零,环境轨道仍在。
列车广播再次出现。
列车即将到站。请站在黄线之后。
同一句。相同音量。相同的英文换气位置。
“循环广播?”林未央问。
陈序看波形。两段广播逐点相同,连背景里一声咳嗽也在同一位置。只有水声不同。第一次水流由左向右,第二次却从右向左,六秒一次的回响没有改变。
不是广播重复播放。
是同一段站台声音,被两个方向相反的水道同时接收。
“这不是一个地点的录音。”陈序说。
“也可能是后期叠加。”
“她没有工具。手机当时在身份模型里,录音直接进入本地队列。”
车载诊断页也给出冲突:轨道声纹符合高架站台,水声深度符合地下泄洪道。两个空间最近相距一点八公里。系统尝试把其中一段归为媒体播放,却找不到扬声器失真。
两种声音都是真实环境。
林未央从平板里调出她做建筑保育时保存的离线声景。三年前,北环线更换过到站提示音;旧版本的第二个音比现在低半度,并在英语广播前留有零点八秒空隙。留言里正是旧版本。
“已经撤销的路线,用已经撤销的声音。”
她又比对城北几处旧泄洪道。六秒回响只可能出现在宽度不足四米、顶面有横梁的混凝土水道。市政图上符合条件的共有三处,离任何轨道站最近的一处仍相隔一点八公里。
陈序把两组声纹放到空白地图上。列车广播形成一个稳定圆点,水声形成一条缓慢移动的线。每隔六秒,线穿过圆点;下一秒,两者又回到相距一点八公里的位置。
地图不是在显示录音误差。它在两个答案之间来回校正。
若只保留权重较高的列车声,张慧宁位于站台;若只保留水声,她位于地下水道。完整录音却要求两个位置同时成立。
“这就是她说的出现和抵达。”林未央说,“她的声音出现在一处,回响抵达另一处。”
陈序记下三条泄洪道的编号,没有选择其中任何一条。现在作出选择,只会让系统把另外两条修成噪音。
张慧宁录音时,两个不相邻的地方在她身边重叠。
留言剩余五十一秒。
陈序试图保存环境轨道。系统要求先确认乘客当前位置。他拒绝,下载按钮立刻消失。
“把手机拔掉。”林未央说,“内容比分析重要。”
“拔掉会中断送达。”
“继续接着,它会把声音变成一条安全路线。”
仪表台已经在修正冲突。高架站台的声纹权重升到百分之七十二,地下水道降到二十八。再过几秒,系统就会宣布水声只是噪音。
陈序可以保住完整播放,代价是让唯一的空间证据被解释掉。也可以切断诊断,留下两种互相冲突的声纹,代价是失去张慧宁最后几十秒。
他拔下短线。
仪表台熄灭。绿色安全路线停在第三个转弯。
旧手机的扬声器断了半秒,又在电池1%的微光中继续。声音变得更轻,却没有消失。
“……如果你已经知道景门筛选,”张慧宁说,“不要把它当成删除名单。”
中间有一段听不清。林未央没有猜,只在纸上留下六个空格。
“它筛的不是人。它筛的是别人会看见哪一个结果。”
电量图标开始闪烁。
“我留下的记录只能带你到边缘。接下来要找旧规划图。找一条城北没有建成的路。”
这句话足够他们开始定位,也足够系统给出十几条废止道路。真正的坐标仍在背景里。
水声忽然靠近,像录音者把手机伸到栏杆外。回响由六秒缩短为四秒。
林未央在纸上画出两个间距:六、四。
“水位在上升。”陈序说。
“不。空间在变窄。”
录音中的张慧宁快走了几步。鞋底先踏过站台防滑砖,下一步却踩进浅水。左右两条环境轨道第一次同时达到峰值。
她停下。
“陈序,如果你听见我——”
语音突然被切断。
旧手机显示:送达完成。暂存关系已清除。
两分零九秒归零。
陈序立刻按回放。页面里没有留言,只有一条空白记录。发送者、时长和接收时间都已消失。林未央纸上的字还在,但语句中的“张慧宁”正从第一行缓慢褪色。
他把黑纸本翻到下一页,凭记忆重写要点:非绑架。非自愿。不要走安全路线。列车。流水。城北未建道路。
写到最后一项,旧手机没有熄屏。
灰色页面底部多出一条细波形。
长度七秒。
它不属于刚才的两分零九秒,也没有发送记录。像原留言清除后,下面露出另一层声音。
陈序按下去。
先是近得几乎贴住麦克风的呼吸。比张慧宁更轻,也更年轻。
随后,一个女人叫了他的名字。
不是“陈序”。
她叫他:“哥哥。”
空白的发送者栏在那一刻闪过两个字:陈遥。
陈序的手停在没有姓名的灰色证件上。
那道声音说:
“哥哥,你又只看见一部分。”