下一步,让它听见更多“吴硕”。
顾衡把这句话写完,抬头看向楼道顶上的消防扬声器。
里面还在漏底噪。
滋。
停。
又滋一声。
像有人把话筒拿到嘴边,又临时改了主意。
吴硕站在门口,手还按着胸前那台刚重启过两次的记录仪。
“我先声明。”
“什么?”
“今天‘吴硕’这个名字使用频率严重超标。”
顾衡没理。
十二楼扬声器又响了。
“吴硕。”
这次声音更近。
不是音量更大。
是顾衡能明确听出,声源就在头顶。
他看了一眼时间。
16:39:17。
“退回屋里。”
韩慎行先把程家四个人送进去。
门关上。
楼道只剩顾衡、韩慎行、吴硕、许照微。
声控灯亮着,墙皮有一块起鼓,楼上不知道谁家在剁东西,闷闷的,三四下以后又停。现实生活还在旁边照常过,反倒让扬声器里的声音更扎耳朵。
“你要怎么让它听见更多我?”吴硕问。
“先确认它到底在听什么。”
“这句话比刚才更不吉利。”
“你可以少说话。”
“那我工作量突然降低百分之八十。”
韩慎行:“挺好。”
吴硕闭嘴了两秒。
两秒后又开口。
“设备呢?”
顾衡也在想。
这栋楼的消防广播是分区系统。
每层两个扬声器,走廊端头再加一个。平时由消防主机统一控制,线路走弱电井。物业能手动分区广播,但不能单独控制到每一只。
至少设计上不能。
顾衡问程岳要了物业电话。
十分钟后,物业工程员带着钥匙上来。
四十多岁,姓周。
一路小跑,额头全是汗。
“消防广播自己响?”
“嗯。”
“不可能啊,主机没报警。”
“所以叫你来。”
周师傅拿钥匙开十二楼弱电间,一股灰尘和旧线槽的热味出来。
消防广播分配器还亮着。
状态正常。
没有紧急广播。
没有故障。
也没有任何“吴硕”的录音文件。
“这套东西就能播预置消防语音。”周师傅说,“疏散、火灾、不要乘电梯那些。你们刚才听见喊人?”
吴硕站后面。
“听见了,喊我。”
周师傅回头看他。
“你欠物业费?”
“没有。”
“那它找你干吗?”
“这个问题我们也很想知道。”
顾衡已经蹲下去看线。
模拟定压广播。
老东西。
反而好用。
信号路径简单,能拆,能改,也不会背地里跑个算法把异常替他们“优化”掉。
他指了一下分区输出。
“能临时断十二层吗?”
周师傅看韩慎行。
韩慎行亮证。
“按他说的做。”
十二层广播支路断开。
顾衡计时。
十七秒。
没有声音。
三十四秒。
还是没有。
吴硕刚想说话。
十三楼响了。
“吴硕。”
所有人抬头。
隔着楼板,声音闷了一层。
周师傅脸上的汗没擦,直接顺着鬓角往下走。
“十三楼我没动。”
顾衡站起来。
“它换层了。”
许照微说:“或者它本来就能从别的层叫。”
“对。”
顾衡没把“换”记成结论。
他让周师傅再断十三楼。
十七秒后。
十一楼响。
“吴硕。”
吴硕揉了揉后颈。
“我现在有一种整个楼都在@我的感觉。”
许照微:“还是那种不能退群的。”
“更窒息了。”
顾衡看配线图。
异常不是固定绑定某个扬声器。
至少会选择可用声源。
这就够了。
“能接外部音源吗?”他问。
周师傅指着主机后面。
“有话筒输入,也有线路输入。你们别把消防系统搞坏。”
“不会。”
“你刚才那个语气特别像会。”
顾衡看了他一眼。
周师傅自己把后半句吞了。
设备从失联事件处送过来用了四十分钟。
罗弦没来。
人还在总部处理前一晚的数据,但把一只设备箱交给了司机,箱子上贴了张纸:
【顾工定制·阴间KTV套装】
下面还有小字:
【禁止点歌,尤其别点《吴硕》。】
吴硕看完沉默几秒。
“他人在总部,精神攻击能跨区。”
顾衡撕掉纸条。
箱里东西倒很靠谱。
十只小型全频扬声器。
独立功放。
多通道声卡。
两卷音频线。
一台离线笔记本。
还有三只测量麦克风。
这是他们以前做室内声源定位测试用的便携阵列。
顾衡摸到那几根熟悉的接头,手上动作快了不少。
许照微蹲在旁边看。
“你真准备在楼道搭十个喇叭?”
“不是喇叭。扬声器。”
“有区别?”
“现在有。”
“行。”
她没争。
十只扬声器分到十二、十三、十一三层。
楼梯平台两个。
走廊两端各一个。
剩下四个放在程家门口、弱电间外、楼梯转角和电梯厅。
线铺过去,满地胶带。
周师傅看得眼皮直跳。
“消防检查今天要是来,我怎么解释?”
吴硕帮他想。
“就说艺术装置。”
“你少说两句,我血压能正常点。”
顾衡校时间。
每只扬声器独立通道。
延迟误差控制在毫秒级。
声音不是“吴硕”。
第一轮只播白噪声脉冲。
左。
右。
楼上。
楼下。
每次间隔五秒。
异常扬声器没有反应。
第二轮换成普通人声。
顾衡自己的录音。
“测试一。”
“测试二。”
也没反应。
许照微坐在消防栓旁边的小塑料凳上,手里拿着纸质记录表。
“名字才有用?”
“还没测。”
顾衡调用吴硕昨天留的现场录音。
“吴硕。口天吴,硕士的硕。”
吴硕听见自己的声音从十米外出来,脸扭了一下。
“人在现场听自己的录音,真的很想报警。”
“忍着。”
单个扬声器播放。
一号,十二楼东端。
“吴硕。”
十七秒。
异常没出现。
二号。
“吴硕。”
没有。
三号。
没有。
直到第五只。
位于十三楼楼梯平台。
录音播完三秒后,楼道原有消防扬声器亮起一声底噪。
滋——
然后那个女人的声音出来。
“吴硕。”
顾衡抬手。
所有人别动。
异常回应来自十二楼。
与测试声源隔一层。
他记位置。
再做一次。
仍然从十三楼第五只测试。
这次异常却从十一楼回。
“吴硕。”
不固定。
顾衡盯着楼梯井。
声音沿混凝土墙往上窜,尾音很短。
“它不是在跟扬声器对话。”他说。
韩慎行:“那跟什么?”
“找人。”
吴硕脸色没变,手指却把矿泉水瓶标签抠起了一角。
“找我?”
“目前最像。”
许照微:“怎么找?”
顾衡没答。
他把五号关掉。
换七号。
播放同样录音。
异常回应又换位置。
不是每次都朝最近的扬声器。
也不是固定朝程家。
看起来乱。
可顾衡不喜欢“乱”这个词。
乱一般只是变量没找齐。
他让吴硕换位置。
先站程家门口。
测试。
再站十二楼楼梯平台。
再下十一楼。
每次只改一个变量。
到第四轮,规律出来了。
异常声源出现的位置,会向吴硕所在方向收缩。
不是精确。
但明显。
吴硕在十二楼,回应多数出现在十一到十三楼。
吴硕下到十楼,十五楼以上不再响。
吴硕回到十三楼,响应重新集中在附近。
“它在定位。”顾衡说。
许照微抬眼。
“靠名字?”
“靠声音。”
“为什么?”
“还不知道。”
他说完停了一下。
这个说法不够准确。
它可能利用声音判断“吴硕”在哪。
也可能利用名字把“吴硕”这个目标挂上去,再用声学信息追踪。
但至少有一件事已经很接近事实。
异常不是因为听见名字就触发。
它需要方向。
顾衡突然想起很早以前。
A7。
黑暗里那个看不见的东西。
硬币落地。
杯盖撞柜。
它会被突然声响引走。
当时他只证明了“它追声音”。
现在又一次撞上同样的逻辑。
不是同一个现象。
却像同一类底层习惯。
“给我卷尺。”他说。
吴硕:“你要量什么?”
“距离。”
“楼里?”
“扬声器。”
十只扬声器重新摆。
顾衡把位置按几何关系调整成不规则分布。
每个点到吴硕的距离都不同。
然后给同一句“吴硕”加不同延迟。
第一只先响。
第二只晚十二毫秒。
第三只晚二十七毫秒。
剩下依次错开。
许照微看了一眼参数。
“这么点差别,人能听出来?”
“听不出。”
“那做什么?”
“定位系统能。”
人耳判断方向,本来就靠两边耳朵收到声音的时间差、强度差和频谱变化。
毫秒甚至更小的差异,就足够决定“声音从哪来”。
如果那个东西也在做类似的事——
那就能骗。
第一次阵列播放。
“吴硕。”
十个扬声器几乎叠成一个声音。
站在客厅里的秦婉听不出差别。
吴硕皱眉。
“感觉在左边。”
顾衡没回答。
因为他设计的虚拟声源就在左边楼梯井。
三秒后。
异常广播响了。
不是吴硕所在的右侧。
是左边。
“吴硕。”
顾衡笔尖停在纸上。
再来。
第二次,把延迟关系反过来。
虚拟声源移到电梯厅。
异常回应也跟着偏。
第三次。
楼上。
它往上。
第四次。
楼下。
它往下。
周师傅已经不说话了。
他站在弱电间门口,两只手抱着工具包,拉链头被他捏得来回响。
吴硕看顾衡。
“所以它不是在找我。”
“它在找它以为的你。”
“区别真大。”
“很大。”
顾衡把记录写完整。
异常呼叫目标与声学定位结果存在耦合。
多声源延迟可诱导其改变响应方向。
样本四次。
暂定。
他写完“暂定”,许照微从旁边看了一眼。
“你现在连赢了都不肯多高兴两秒?”
顾衡把笔帽咬在嘴里,腾手去调声卡。
“还没赢。”
“为什么?”
“我们只能骗它方向。”
“下一步?”
顾衡把十个通道全部点亮。
吴硕已经猜到了。
“你要让它同时听见十个我。”
“不是同时。”
“那是什么?”
“让每个方向都像真的。”
他重新算延迟。
不是做一个虚拟声源。
而是十个。
互相冲突。
每组脉冲都给出一套完整、但彼此不兼容的位置线索。
正常声源定位算法遇到这种输入,大概率会输出多个候选,或者直接失效。
如果异常真靠声音找目标——
它也得选。
韩慎行看了眼时间。
“风险?”
“可能激化。”
“撤居民?”
“先撤这一层和上下两层。”
物业开始敲门。
不解释细节,只说消防系统测试,临时下楼二十分钟。
有人穿拖鞋。
有人抱着猫。
还有个大爷拎着没泡开的茶杯,一边走一边问是不是又要收维修基金。
程家最后下。
秦婉临走还回头看了程舟两次。
程舟没跟下去。
他是目标关联人。
顾衡也不同意他参与下一轮。
韩慎行把他留在屋内,门不锁,吴硕站楼道中间。
许照微抱着记录板退到楼梯口。
“开始?”
顾衡手指放在空格键上。
楼里一下安静。
连电梯都被停了。
十只扬声器分散在三个楼层。
像十张没有脸的嘴。
顾衡按下去。
第一组声音出来。
“吴硕。”
第二组几乎同时。
“吴硕。”
第三组。
第四组。
不是回声。
每个方向都完整。
每个方向都给出不同的“这里”。
吴硕站在原地,脖子后面的汗顺着衣领往下。
楼内消防广播先是安静。
一秒。
两秒。
三秒。
滋——
十二楼响了。
“吴硕。”
紧接着十一楼。
“吴硕。”
十三楼东端。
“吴硕。”
然后西端。
“吴硕。”
顾衡抬头。
不对。
之前一次只选一个方向。
现在它没选。
第五个扬声器响。
第六个。
第七个。
消防广播一个接一个被点亮。
不是他们的阵列。
是整栋楼原有的系统。
吴硕声音很低。
“顾工。”
“别动。”
第八个方向。
“吴硕。”
第九个。
“吴硕。”
最后。
十楼到十四楼所有能工作的消防扬声器,同时爆出一层底噪。
滋——
顾衡手指停在停止键上。
没有按。
他看见记录软件上,十个通道的波形还在正常输出。
而异常声源已经从一个方向,变成了很多个。
许照微在楼梯口说:
“它找不到了?”
顾衡盯着走廊尽头。
“不是。”
下一秒。
十个方向。
同时传来同一句话。
“你在哪儿?”
吴硕的脸一下没了血色。
顾衡却慢慢把手从停止键上移开。
声源定位失效了。
而它第一次,没有叫名字。
它开始问位置。
这就够了。
顾衡翻开黑色日志。
17:26。
扬声器阵列成功制造多重声源定位冲突。
异常目标无法稳定确定吴硕位置。
他写到最后一个字。
整栋楼的广播又响。
这一次,不是十个“吴硕”。
是十个不同方向的顾衡声音。
一模一样。
“我在这里。”