造成损失的小测试。老贺抛硬币,连续五次,设备没有声音;许照用手机生成随机数,它也没有反应。等他开始按每天关店的顺序收工具,录音笔却在他拉开左侧抽屉前,提前播出一句:“胶带又放哪了?”
录音笔播完那句话整整七分钟后,许照在空抽屉前说出了同样的话。老贺下午用过胶带,顺手放进了里间,他并不知道;但他每天都会先找那个抽屉,也确实习惯在找不到时抱怨一句。这说明设备没有回答所有问题。它像是只在某个结果足够确定时,截取一小段声音送回来。
两台相机留下的连续画面都显示,从录音结束到现实发声恰好经过四百二十秒,中间没有剪切。许照把这次记录与咖啡那次并排:内容不同、触发方式不同,时间差却完全一致。“七分钟”从一次巧合变成了可以复核的规则。
录音笔里没有存储卡,主板上却多了一枚普通录音设备不该有的通信模块。模块型号被磨掉,天线藏在金属外壳内侧。许照用仪器检测时,它已经停止发送信号。
屏蔽罩下共有十二个焊点,其中四个接到麦克风与时钟,另外八个通向一枚重新封装过的芯片。芯片表面的编号被磨平,不是被火烧掉的,而是有人在装机前主动处理过。
模块没有手机卡,也没有可识别的无线标志。它刚才若接收过声音,只能连接附近某个他们看不见的节点。
许照把路由器日志按时间展开。录音笔第一次亮起前后,确实有不到两千字节的陌生数据经过;胶带录音出现时也有一段同样长度的交换。数据量装不下一段完整音频,更像设备先报出状态,再从别处取得一个很短的结果。
进一步重复后,结果没有改变。它对硬币与随手抽取保持沉默,却能捕捉他们已经形成的习惯。许照把“随机无输出,习惯可能输出”记进测试表,仍只标作暂时观察。
“也许只是录音延迟。”老贺说。
“延迟会把声音放晚,不会放早。”
“那就是你困糊涂了,先说了一遍自己没记住。”
许照把两段带时间的录像摆在他面前。
老贺沉默片刻:“我年纪大,看不懂。”他说完便回里间睡觉,走到门口又停下来。
“别拿出去乱试。”
老贺扶着门框,没有再装作看不懂:“一杯咖啡倒了可以擦。下次它要是叫你拦车、开门,先想清楚那句话是在救人,还是在推着你走。东西能修,人别拿来试。”许照听出了这句话里的担心。
他把老贺的原话也写进测试规则,没有只答一句让人放心的话。录音笔留在谁手里、出了问题先找谁,都还没有决定;但至少从现在起,任何涉及人的测试都不能由一个人临时起意。老贺看见他写完,才松开门框。
“知道。”
他没有睡。录音笔被拆成三部分摆在防静电垫上。线路能看懂,供电能看懂,通信芯片的接口也能看懂。越是如此,中间那件无法解释的事越显得刺眼。机器应该给明确答案。这支机器却在告诉他,一个尚未发生的答案。凌晨两点,许照给室友陆野发了张主板照片。
他没有把“未来”两个字单独发出去,而是先问陆野能不能判断一块无标识通信模块的协议。他们同寝两年,许照从未为了恶作剧在凌晨两点发一张完整线路图。那张照片已经足够反常,他没有再解释。
陆野是计算机系的,长期把“马上睡”理解为“再开一局”。消息几乎立刻变成已读。
“这是什么设备?”
“录音笔。”
“你拆别人录音笔做什么?”
“它刚才说了七分钟后的话。”
对面安静了半分钟。“许照。”陆野打来语音,“你是不是连续上班太久了?”
“我有录像。”
“精神状态异常的人也会录像。”
许照挂断语音,把两段视频发过去。陆野这次沉默得更久。
“别动。”他说,“我过来。”
二十分钟后,陆野穿着拖鞋出现在维修店门口,头发被风吹得像一把坏掉的刷子。他把视频逐帧看了三遍,又检查了手机时间、文件元数据和店内监控。
接触原文件前,陆野先让许照把三份校验值念给镜头,又复制一份只读备份。他没有因为两人关系近就跳过步骤:“要么把它当真查,要么现在回去睡。最麻烦的是嘴上说不信,手上却按着相信的方式行动。”许照把备份卡交给他,没有反驳。
他先确认两个录像没有断帧,再把手机、电脑和监控的时钟误差排成一列。随后,他让许照复述同一句话,用频谱比对声纹。复述的波形很接近,却没有提前录音与现实录音那种几乎完全一致的气息变化。
“不是你后来模仿出来的。”陆野说。
他又检查店内路由器。二十三点十二分左右确实有一个陌生设备短暂接入,只交换了不到两千字节的数据便消失。访问记录没有目标域名,也没有常见协议标记,像对方只来确认一件东西是否已经开机。