· 死者的账号 方毅把车开出工业园区的时候,后视镜里那栋灰蓝色的六层楼正在渐渐缩小,最后被一排行道树的树冠遮住了大半。副驾驶座上的叶知秋抱着帆布包,录音笔放在包最外侧的夹层里,拉链拉了三道——一道主拉链,一道夹层拉链,还有一道她用一根黑色橡皮筋扎了一下锁扣。方毅注意到这个细节,但没有说话。方向盘在他手里被握得很紧,指节上的皮肉被勒出了浅白色的印痕。 车上了主干道之后路面变平了,轮胎压在柏油上的噪音从底盘传上来,嗡嗡的,和机房里那台风扇的低频嗡鸣很像。方毅的手从方向盘上松了一点点,右手的拇指无意识地刮擦着皮革盘缘上一条细小的裂口。 "你刚才在走廊里说'四十七分钟'。"方毅开口,眼睛看着前方路面上一条正在慢慢变长的白色标线,线被午后的阳光晒得反光,晃眼。"你算过那段录音的内容和机房里面我们说过的话之间的时间差?" 叶知秋把帆布包放在腿上,双手交叠搭在包面上,手指的动作很安静,没有搓,没有敲,像一台已经在后台跑完了所有运算的处理器,正在等待下一步的输入指令。"录音文件在九点十二分创建。我们到达机房门口的时间是九点四十六左右。那段录音录到的内容里有一段底噪,我放大听了——里面有一串脚步声,和你我在走廊里走路的节奏高度一致。" "所以录音笔在四十七分钟里录到了我们进入机房之后的所有对话。"方毅说这句话的时候语气很平,但他说完之后吞咽了一下,喉结上下滚动的幅度比平时大。他脑子里正在放一段自己刚才在机房里的画面——他和叶知秋站在SYS_ECHO服务器前讨论"输入端是声音""输出端是文字",那些话一字不漏地被某个藏在通风管道里的设备收了进去。那个"他"——方毅不知道该怎么称呼这个人——听到了所有内容。 叶知秋从包里拿出手机,打开了一个音频频谱分析的APP。她把录音笔从夹层里取出来,接上手机,屏幕上立刻显示出一道密集的波形图。"频率分布集中在人类语音频段,约三百到三千四百赫兹。录音笔本身的硬件底噪很小,说明设备质量不差。"她用手指在波形图上划了一段,"这一段是脚步声。这一段是门锁的声音。这一段——" 她停了一下,把音频播放条拖到大约十五分钟的位置,按下播放键。方毅侧耳听。那段声音比之前模糊得多,像是录音笔被什么东西半遮住了拾音口。里面有一个人的说话声,短促的、含混的句子,像在自言自语。方毅听不清楚具体内容,只能辨认出语音的起伏——像是在念什么,或者背什么,节奏有点像在数数。 叶知秋把播放暂停,又往后拖了大约两分钟。这一段更清楚了——是那七个字:"他在听。别让他发现。" "这两段之间隔了大概一百二十秒。"叶知秋看着屏幕上的时间轴,"第一段是自言自语,第二段是警告。说话的人不是同一个。第一个人的语调偏低,共振峰频率集中在低频区,男性,年龄大概率在三十五岁以上。第二个人的声音比较薄,共振峰偏高,也是男性,但年轻一些。至少两个人在录音现场。" 方毅在红灯前刹住车,车身顿了一下,他顺势偏头看了叶知秋的屏幕一眼。波形图上被标出了两个不同颜色的区间,黄区和红区,中间隔着一百二十秒的底噪空白。 "这两个人当时在通风管道里?"方毅问。 "通风管道上方是设备层,层高大概不到一米五。"叶知秋放下手机,把录音笔重新收好,拉链拉回去之后她抬头看挡风玻璃前方,目光落在那条渐近的十字路口上。"我在电梯间墙壁上看到过楼层剖面图——四楼以上还有一层设备夹层,标注的是'通风与管道维护通道'。那个通道不对外,平时只有物业维修人员会进去。" 绿灯亮了。方毅踩下油门,车子穿过十字路口的时候右侧有一辆公交车从并排车道超了过去,发动机的轰鸣声震得车窗玻璃嗡嗡响。他等那阵噪音过去之后才开口:"所以两个人在设备层里。他们预先放置了录音笔,把USB线从检修口垂下来,等着有人接。" "等着我们接。"叶知秋说。 方毅沉默了一会儿。车里的空调吹出来一股混着旧滤芯味的凉风,吹在他太阳穴上,凉意渗进皮肤底下。他把空调出风口掰向了旁边的方向,然后开口:"如果他们在等我们接,那录音笔本身就是一条消息。" 叶知秋转头看他。她的视线在他侧脸上停留了两秒,然后低了低头,像是在思考他这句话的含金量。"录音笔本身的内容是'他在听。别让他发现'。这个'他'——"她顿了顿,"录音里面唯一没有被定义指代对象的人称代词。我们刚才在机房里的对话提到过'陈默',提到过'F',但这句话说的是'他',而不是'陈默'或'F'。" "所以说这个'他'——"方毅把手搭在方向盘下方,手指在腿面上轻轻叩了两下,"——是这两个人在设备层说话的时候提到的另一个人。和我们在机房讨论的不一定是同一个对象。" 叶知秋的眼睛亮了一下,那是一种非常细微的变化,比她平时任何表情起伏都要小,但方毅看见了。她的指关节在帆布包表面轻轻收紧又松开。"两条平行的声音线。我们在机房说我们的话,他们在设备层说他们的话。两条线在同一个时间轴上同步运行,但互相不知道对方在说什么,直到我们拿到录音才知道他们也在场。" 方毅把车拐进了市局停车场。路面从柏油变成了水泥预制块,车轮压过接缝处时发出规律的沉闷磕碰声。他找了一个靠里的车位把车停进去,熄火,发动机停转之后的安静比之前要浓,空调关闭之后车厢里迅速热起来,窗外的阳光从侧面斜射进来,把叶知秋的半张脸照得发白。 她没有急着下车。她把帆布包的拉链又重新拉开了一次,掏出了一个东西——一张折了四折的纸,边缘有些磨损,像是被人翻来覆去地看过很多遍。她把纸展开铺在仪表台上方,用手掌压平折痕。 方毅认出来了。那是他昨天从陈默旧公寓废品箱里拿回来的笔记本中撕下来的一页,纸页的边缘有撕扯的毛边,纸背面的字迹隐隐透过来。 "你什么时候撕的?"方毅问。 "你在走廊接赵明远电话的时候。"叶知秋没有避讳,她的手指已经点了纸面中间那行字,还是那行铅笔写的、几乎被手掌抹掉的凹陷痕迹:"但我不会消失。我会变成倾听的人。" 方毅盯着那行字。在光线充足的室内看,比昨天在昏暗楼道里看到的更多细节——铅笔的笔痕在"倾听"两个字上压得特别深,纸背面的凹痕已经快要透穿了,摸上去有明显的凸起纹路。他伸手碰了一下那个位置的纸面,指尖感觉到细微的物理起伏。"他写'倾听'的时候用了很大的力。几乎要戳穿纸。" "一种执念。"叶知秋把纸对折好收回包里,"陈默在死之前——如果我们假设他确实死了——这个'倾听'的概念已经在他脑子里占据了核心位置。他的笔记本里出现了两次'回声'、三次'听见'、一次'倾听'。频率密度太高了,不是随手的用词选择。" 方毅把安全带解开,金属扣弹回B柱上发出咔的一声。他坐在驾驶座上没动,车窗外的光线照进来把仪表盘的灰尘照得纤毫毕现。他忽然想起一件事——陈默那篇叫《回声》的博客草稿,开头第一句写的什么?他在脑子里默念了一遍,那行字浮出来:"楼梯间里的脚步声不会停留,但它的回音会在墙缝里待很久。" "方毅。"叶知秋叫他。 他偏过头。 "你觉得那个在设备层里说话的人,对我们说'他在听'——那个'他',会不会就是陈默?"她的声音比刚才更轻了一点,像是这个词本身分量很重,说出来之前她自己也掂量过好几次。"如果陈默真的变成了'倾听的人',那他从死之前就在听的东西是什么?" 方毅没有立刻回答。他的视线越过叶知秋的肩膀落在副驾驶车窗外面——停车场的另一侧有一排树,树的叶片在午后的微风里翻动着银灰色的背面,像一群小型的、安静的旗帜。他脑子里正在拼接几张碎片:陈默的笔记本上那个"回声系统"拓扑图;深蓝科技申请过的那份"基于环境声波特征的信息提取与反馈验证"实验申请;那台SYS_ECHO服务器上用拾音器伪装的天线;F在社群里发过的那些符号;以及刚才那段录音里那句"他在听。别让他发现"。 这些碎片拼在一起之后,呈现出来的形状让他觉得不太舒服——像一个人站在井口往下看,井底有声音传上来,但你分不清那个声音是来自井底深处,还是来自你自己站在井沿时的回音。 "回声系统。"方毅念出这四个字,发音在车厢的封闭空间里有一种短促的回荡。"如果这个系统的工作原理是收声、转文本、输出到论坛,那它的输入端采集的是深蓝科技那栋楼里的声音。整栋楼是一个巨大的拾音场。陈默在那栋楼里工作的时候建了这套东西,他走了之后系统还在运行。" 叶知秋接上他的话:"所以这台服务器三年来一直在收集那栋废弃大楼里的声音。拆楼的人来回走动的脚步声,拾荒的人翻东西的动静,物业管理人员偶尔进入的脚步声——甚至,如果有人在那栋楼里说话,就会被系统记录下来,转换成文字,变成Echo账号上的预言帖。" 方毅把手掌按在方向盘上,皮革表面已经被太阳晒得有些温热。他的拇指在方向盘幅条的边角上刮了一下。"但预言帖的内容是案件。不是什么杂音。系统如果只是简单地声文转换,不应该输出那么精准的内容。" 叶知秋点了点头,动作幅度不大,但方毅看到她颈部肌肉绷紧了一瞬。"所以说在'采集声音'和'输出文字'之间,还存在一个处理环节。不光是语音转文字,还有解析和重组。系统从声音里提取了某种信息,把它重新编码成了预言帖。"她顿了一下,像在等自己脑子里的某个想法完全成型才敢说出口,"从声音里提取'含义'——这不是语音识别,是语义萃取。" 方毅打开了车门。外面的空气涌进车厢,比空调吹出来的风热,带着沥青路面蒸腾的气味和远处食堂飘过来的饭菜油香。他站在车边,把车门关上,然后靠在门框上站了一会儿。停车场有一辆面包车从他们旁边开过去,引擎声音很大,尾气的热浪扑在他的小腿上。 叶知秋也从车里出来了。她站在另一侧车门边,把帆布包的肩带整理了一下,然后隔着车顶看着方毅。 方毅说:"我要回那栋楼。" 叶知秋没有露出意外的表情。"什么时候?" "今天夜里。"方毅低下头,用鞋尖碾了一下地面上嵌着的一颗小石子,石子翻了个身露出底下湿润的泥土色,"白天的时候那栋楼里太多变量。设备层的两个人——不管他们是谁——白天可以在楼里随意移动而不太容易被注意到。但夜里,没有施工,没有物业巡查,楼里安静。如果那个系统真的在收集声音,安静的时候才能听见最底层的东西。" 叶知秋隔着车顶看了他几秒钟。午后的光线把她的影子拉长了投在地面上,瘦长的一道,肩头的位置被车顶的棱角切掉了一截。她把帆布包的带子从肩上取下来,换了一只手拎着,然后说:"我跟你去。" 方毅看着她的眼睛。那双眼睛里没有犹豫,也没有那种强行撑出来的勇气,像在陈述一个她已经计算过了的结果。"你确定?夜间进入待拆建筑有风险。" "你一个人去设备层,如果遇到那两个人——"叶知秋的声音平缓,但每一个字都像被尺子量过一样均匀,"你打算怎么办?你打过架,我知道,但你不知道对方是谁,不知道几个人。两个人看一个方向的总比一个人看整个方向强。" 方毅没有反驳。他把视线从她脸上移开,望向停车场的入口方向,那里有一棵槐树,树枝在风里摆动,叶子互相摩挲发出沙沙的响声,让他想起那段录音里最开始的底噪。他忽然意识到一件事——自从走进那栋楼的那一刻起,他做的每一件事、说的每一句话,似乎都已经被什么人预判了。那张门上贴的纸条写着"输密码之前先问问自己",录音里有人说"别让他发现",SYS_ECHO的服务器在运转着、等着、听着。他所有的行动轨迹像是被设计好的一道程序,他沿着某个预设的路径走,每一步都踩在别人画好的格子里。 方毅不喜欢这种感觉。 "今天晚上十点。"他说,语气比之前硬了一些,像是在用这句话提醒自己,接下来他要做的每一件事都要比白天更主动、更不可预测。"我在市局门口等你。带两支手电筒、一个移动电源,还有你那个音频分析手机。" 叶知秋点头,转身往办公楼的方向走。她的背影被正午的太阳拉得短了一些,帆布包在她身侧小幅摇晃,拉链上的金属拉头反射出一点刺眼的光。方毅看着那点光在移动中一明一灭,像某种他在哪里见过的东西——他想了两秒才想起来,是机房里SYS_ECHO服务器上那颗绿色LED灯的闪烁频率。 他站在停车场里,周围空无一人。远处有蝉鸣,持续的、高频率的振动,像一道永不停歇的信号波。他抬起手看了一眼手表,时针和分针的夹角指向午后一点零七分。距离夜里十点还有将近九个小时。在这九个小时里他需要做一件事,一件决定今晚行动成败的事——他要去查清楚陈默生前最后几个月的人际网络,尤其是"清源路23号"那条线上所有和他产生过交集的人。 他掏出手机给林小鹿发了条消息:"帮我调一份三年前清源路23号整栋楼的住户登记信息。全部。加急。"发完之后他把手机放回口袋,走回驾驶座,坐进去,关上门。车厢里的热空气闷了他一脸,他启动引擎,把空调开到最大,冷风从出风口冲出来吹在他脸上,把他的前额刘海吹得往后倒。 他坐在车里没有立刻挂挡。发动机在空转,仪表盘上的转速指针稳定在一千转的位置,轻轻颤动。他看着挡风玻璃外面那棵槐树被风吹动的样子,手指搭在排挡杆的球头上,感觉到塑料外壳在太阳晒过之后残留的微温。 他还在想那句话——"但他不会消失。他会变成倾听的人。" 如果陈默真的变成了某种"倾听"的存在,那他听的是什么?整栋楼的声音?所有经过那些通风管道的声音?还是说"倾听"只是一个比喻,他实际上用那台服务器收集了某种更具体的东西——某种声音里的数据,某种人耳听不出来、但机器能够解构的隐藏在声波底层的信息? 方毅松开手刹,把车缓缓开出车位。他忽然想起深蓝科技那份实验申请里的原话:"基于环境声波特征的信息提取与反馈验证"——提取的不是语音内容,是"特征"。声波本身的物理特征:频率、振幅、相位变化、反射模式。那栋楼的三维结构、材料密度、管道走向,所有这些东西都会改变声音在楼体内部传播的方式。一个人走在走廊里,他的脚步声会因为楼体结构的不同而产生微妙的差异——这种差异包含的信息量远比脚步声本身要大。 如果陈默设计的系统是提取"声波特征"而不是"语音语义",那预言帖的内容可能不是从任何人的话语里"听"来的,而是从声波在楼体内传播时产生的物理变化里"计算"出来的。声音变成了一种数据载体,而不是一种语言载体。 方毅把车拐出停车场的时候,脑子里那个思路还在延伸——如果这是真的,那"预言"的本质就不是有人提前知情,而是有人在用声学扫描的方式探测这座楼,从楼体结构回馈的声音信号里推算出某种空间或时间上的模式。然后这种模式被翻译成了文字,变成了那些看似神秘的帖子。 他忽然踩了一脚刹车,车在出口处停住,差点顶到前面一辆正在缴费的面包车尾。他的手指握在方向盘上微微收紧,心跳比刚才快了半拍——如果这台服务器的真正原理是这样,那陈默在清源路23号住过这件事就变得更重要了。清源路23号和深蓝科技的旧楼有什么空间上的联系?那两栋建筑之间是不是存在某种声学上的通道?或者——他想到这里的时候心跳又快了半拍——陈默根本不止做了一台服务器。 前面的面包车缴费完毕开走了,收费杆抬起。方毅松开刹车让车滑过栏杆,驶入了主干道的车流里。午后的阳光从斜上方照射下来,在挡风玻璃上形成一片晃眼的光斑,他眯着眼调整了一下遮阳板的角度。 他口袋里手机震了一下。他单手扶着方向盘,另一只手掏出手机瞥了一眼屏幕。林小鹿的回复到了,只有一句话,但方毅看到那句话的时候后背的肌肉几乎同时收紧了一层: "头儿,清源路23号三年前那一整年的住户登记记录有缺失。2018年3月到8月那六个月的住户清单——页面编号跳了,缺了一整页。不是偶然遗失,是人为抽走的。" 方毅把手机放回口袋,眼睛看着前方的路,脑子里却已经不再看路面了。缺了一整页的住户清单。三年前。他住在那里的那段时间刚好覆盖了被抽走的那几个月。缺掉的页面上有谁的名字?或者说有谁的名字被人刻意抹掉了? 他的车子开过一个路口,阳光从高楼之间的缝隙里短暂地射进来又消失。方毅在后视镜里看见自己的脸,表情不算平静,嘴唇抿成了一条直线。他在心里把那个问题又念了一遍——缺掉的那一页里,是陈默前女友的名字?还是方毅自己的名字?还是别的什么他还没有触及到的人? 傍晚六点半,方毅回到市局办公室。他在自己桌前坐了一会儿,电脑屏幕上林小鹿发来的那行字还亮着。他没有关它,让它留在那里,像一个标记点。办公室里没有别人,日光灯亮着,安静得能听到墙壁里水管偶尔的热胀冷缩声。他从抽屉里拿出那个从陈默公寓废品箱里带回来的笔记本,翻到写着"回声系统"拓扑图的那一页,然后又翻了一页,看了看页面背面是否还有被忽略的笔迹。 在拓扑图背面的右下角,他之前没有注意到的地方,有一行极小的、像是用圆珠笔在纸面上用力压出来的无墨字迹——笔尖没有墨水了,只留下凹痕,不侧着光看完全发现不了。方毅把纸页侧过来,让桌面的台灯光从侧面切入,凹陷处的阴影变得清晰。 那行字是: "23→环路 1.7km 直线 声速 5.1ms 窗口。" 方毅的呼吸停了一拍。 他从桌上拿起一支铅笔,用笔尖在那行凹痕上轻轻涂了一层石墨,灰色的粉末填进凹陷里,字迹变得可读。他把它完整地抄在一张白纸上,然后盯着那串数字和符号。23——清源路23号。环路——深蓝科技旧址所在的那片环形区域的代称。1.7公里直线距离。声速5.1毫秒的传输窗口。 他放下铅笔,向后靠在椅背上。椅子的靠背发出一声轻微的吱响,他仰头看着头顶那几根日光灯管,其中一根在跳,频率不快,像一只疲惫的眼皮在挣扎着不肯合上。他嘴里无声地念了一遍那行字,然后他明白了——如果声波在空气里传播1.7公里需要大约5.1秒,而不是5.1毫秒。但如果是固体介质呢?如果通过地下某种传导结构——管道、地基、岩层——声音的传输速度会大幅提高。5.1毫秒是一个通过特定介质进行远距离声波传导的理论时间窗口。 清源路23号和环路之间,存在着某种声学上的连接。陈默在那两个点之间布置了一套"倾听"系统,这套系统的原理不是网络传输,而是物理层面上的声波传导。他把拾音器放在了一端,把处理器放在了另一端,中间是1.7公里长的某种固体介质通道。 方毅坐直了身体。他把抄了那行字的纸折叠两次,放进夹克的内袋里,贴着胸口的位置。纸张和皮肤之间只隔了一层棉布,他能感觉到纸角的折痕硌在锁骨下方。 他拿起手机给叶知秋发了一条消息,只有六个字: "今晚提前。八点。"