“我在这里。”
十个方向,同时传出顾衡自己的声音。
左边楼梯井,右边电梯厅,头顶十三楼,脚下十一楼。
声音一样,气息一样,连“这”字前面那一下很轻的停顿都一样。
顾衡没动。
这句话不在播放队列里。
他今天只录过“测试一”、“测试二”,没有录过“我在这里”。更麻烦的是,他们自己的十只扬声器还在播“吴硕”。
说话的是楼里原本的消防广播。
吴硕慢慢转头。
“顾工。”
“嗯。”
“一个人开十个分身,什么体验?”
“闭嘴。”
“好的。”
顾衡盯着笔记本。十路阵列输出正常,没有串音,也没有顾衡的录音被调进来。
周师傅蹲在弱电间门口。
“这个声音……是你的吧?”
“像。”
“不是像,就是。”吴硕说。
顾衡没纠正。
现在这种“就是”,说早了要付代价。
十七秒。
消防广播安静。
又十七秒。
十二楼西端先出一声底噪。
滋——
“你在哪儿?”
还是顾衡的声音。
十三楼跟着响。
“你在哪儿?”
十一楼。
“你在哪儿?”
像问话顺着楼梯往下落。
许照微站在楼梯口。
“它刚才找不到吴硕。”
“嗯。”
“现在问位置。”
顾衡想起方芸。
想起电梯里的异常声源叫出姓名,也想起她那声条件反射的“啊”。十七秒后,她自己的声音从屋里回答了“我在”。
当时他们只确认:本人回应以后,声纹会被复写。
但如果回应还有第二个作用呢?
名字先圈出目标,回答再给出位置。
像先有地址,再做测距。
这个推断太顺,顾衡没往结论里写。
先试。
“停阵列。”
十只扬声器全部静音。
消防广播又问两轮。
“你在哪儿?”
第三轮没有来。
韩慎行问:“你想让吴硕答?”
“想。”
吴硕看他。
“刚才是谁说谁都别答?”
“情况变了。”
“安全规范更新连弹窗都没有?”
“现在有。”
顾衡合上电脑。
“你去楼下。”
吴硕沉默一秒。
“这个弹窗挺具体。”
“回答必须是你本人,但声音不一定从你站的位置出来。”
许照微听明白了。
“实时转发。”
“对。”
前面已经有过,播放录音无效,别人代答也无效。
这次不能拿录好的“在”骗它。
得是吴硕本人,当场回答。
区别只在于——声音从哪里出来,由他们决定。
半小时后,线路搭好。
顾衡没走无线。从十三楼沿消防楼梯放了一根模拟音频线,一直拉到一楼门厅外。吴硕待在物业维修车里,车门关着,近讲麦克风贴在嘴边,声音沿线送上楼,再进十通道阵列。
不用网络,不经过自动降噪。
整套东西笨得很。
可现在,越笨越让人放心。
程家和上下三层住户还没回来。
许照微拿纸笔记时间,韩慎行守十二楼,周师傅缩在弱电间,只剩一个要求:
“别烧功放。”
耳机里传来吴硕声音。
“收到吗?”
“收到。”
“我现在像不像客服?”
“像。”
“那我先说,您好,请问异常还在线吗?”
“少废话。”
顾衡看表。
17:49。
“它叫你名字,只答一次。”
“答什么?”
“在。”
“够朴素。”
“越少越好。”
十七秒。
十三楼消防扬声器轻轻“啪”了一下。
“吴硕。”
顾衡抬手。
耳机另一端安静一秒。
吴硕说:
“在。”
他的真实声音从一楼维修车里出来。
顾衡先只开十三楼东端一只扬声器。
“在。”
三秒后,十二楼消防广播回应。
“吴硕。”
再换十一楼西端。
吴硕第二次实时回答。
“在。”
这次异常声源从十楼出来。
两次不够,但方向已经变了。
顾衡又换电梯厅、楼梯平台,各做一次。吴硕本人始终没离开一楼维修车,异常响应却跟着他们指定的播放点走。
至少“人站在哪儿”不是它唯一拿到的位置。
真正喂给它的,是回答声从哪里出现。
“下面做十个。”顾衡说。
吴硕在耳机里沉默一下。
“我现在申请把名字授权费按声道结算。”
“驳回。”
“行。”
十只扬声器同时开口。
“在。”
不是完全同时。
顾衡提前写好十组延迟,每组对应一个不同的虚拟位置:楼梯、电梯厅、楼上、楼下、走廊两端。
人听起来只是一声有点发散的“在”。
测量麦克风上却是十套互相打架的位置线索。
消防广播静了。
一秒。
两秒。
吴硕在耳机里问:“还活着吗?”
“别说话。”
三秒。
十二楼响。
“吴硕。”
紧接着十四楼。
十一楼。
顾衡不关阵列,只切参数。
他把其中一组虚拟位置往十四楼移动,每二百毫秒改一次延迟。
不是跳过去。
是让那个不存在的“吴硕”沿楼梯往上走。
十四楼东端广播响。
“吴硕。”
顾衡继续推。
十五楼。
“吴硕。”
十六楼。
周师傅探出头。
“它真上去了?”
“响应位置上去了。”
“有区别?”
“有。”
他们只看见声源位置变化,没人真的看见一个东西上楼。
虚拟声源继续往上。
吴硕本人还坐在一楼维修车。
韩慎行通过有线耳机报:
“十五。”
“十六。”
“十七。”
顶楼防火门旁最后一只消防扬声器响起。
“吴硕。”
然后停了。
整栋楼安静二十秒。
吴硕憋不住。
“所以我人在一楼,名字去天台团建了?”
“暂时。”
“我就知道有这两个字。”
顾衡让虚拟声源停在十七楼一分钟,又慢慢往下拖。
十六。
十五。
十四。
异常响应跟着下来。
有时差一层,有时差两层,可趋势够清楚。
顾衡还让吴硕在维修车里换了座位,从驾驶位挪到车尾,再到车外两米。
阵列参数不动。
楼里的异常响应也没跟着他的真实位置变。
反过来,吴硕坐着不动,只改扬声器延迟,响应位置照样在楼里跑。
这个对照做完,连周师傅都看懂了。
“它追的是你们放出来的声音。”
“目前看,是。”
顾衡写:
本人实时回应可通过外部声源重定向。
异常响应位置随虚拟声源移动。
真实人体位置变化未表现出同等影响。
最后补:样本有限。
吴硕幽幽来一句:“我都快被你拆成三个变量了。”
“还没。”
“谢谢,完全没被安慰到。”
测试到这里本该停。
顾衡却没关十通道界面。
做的是让十个方向都像吴硕。
刚才做的是拖着一个假吴硕移动。
还差一步。
如果本人真的回答,但回答仍然来自十个方向呢?
许照微看见他改参数。
“你手又痒了?”
“不是。”
“你每次说不是,后面都比较危险。”
韩慎行从耳机里问:“风险?”
“可能重新扩散。”
“收益?”
“验证它需要的是本人回应,还是唯一位置。”
两秒后。
“最后一轮。”
吴硕那边叹气。
“测试耗材没有发言权?”
韩慎行:“现在有。”
“我反对有用吗?”
“有。”
耳机里安静一会。
“那做吧。”
这次他没贫。
顾衡听见麦克风里一声很轻的吞咽。
“开始。”
十组虚拟位置全开。
每个方向都给出完整定位条件,每个方向都在变化。
消防广播很快响应。
“吴硕。”
左边。
“吴硕。”
楼上。
右侧。
楼下。
顾衡等它问。
十七秒。
“你在哪儿?”
还是他的声音。
顾衡对耳机说:“答。”
一楼维修车里,吴硕吸了口气。
“在。”
十个方向同时把这个字送出去。
楼里的消防广播全部静止。
一秒。
三秒。
五秒。
第九秒,扬声器里传出一声呼吸。
不是吴硕,也不是顾衡。
第十七秒。
十个方向同时响起。
“在。”
吴硕自己的声音。
不是阵列。
阵列已经静音。
是楼里原本的消防广播。
十个“吴硕”一起回答。
吴硕在耳机那边没说话。
顾衡后背汗一下出来。
方芸回答后,异常复制过她的声音。
现在轮到吴硕。
只是它没有选出一个位置。
所以把他们刚才喂进去的十个位置,全复写了。
顾衡把原始录音和消防广播采样叠在一起。
吴硕那声“在”前面有一个很轻的吸气,维修车风机又在低频上压着一点嗡声。
复制出来的十个声音里,吸气在。
那个车内低频却没了。
它不是简单把整段音频原样搬过去。
更像只拿走了“吴硕说出的那个字”和他的声纹。
顾衡把“更像”写进旁注,没有往前多推。
“吴硕,不要再说话。”
耳机里敲两下麦克风。
收到。
十个消防扬声器继续。
“在。”
第二轮。
第三轮。
每轮间隔十七秒。
顾衡逐个切断消防广播支路。
十个变七个。
七个变五个。
最后只留十二楼东端一个。
十七秒。
那个孤零零的喇叭响。
“在。”
“切。”
周师傅拉下最后一路。
啪。
整段楼层安静。
三十四秒。
一分钟。
没有迁移到别处。
顾衡肩膀往后靠了一点。
墙是凉的,汗湿的衬衫贴上去,后背立刻缩了一下。
韩慎行上来。
“结论。”
顾衡把记录从头看完。
“它需要本人回应。”
“但回应从哪里出来,可以骗。”
吴硕终于从一楼爬上来,进门时气还没喘匀。
“我都当半天法器了,你还不给个正式结论?”
“你现在更像测试设备。”
“人形有源音箱?”
“差不多。”
许照微递给他水。
“喝你的。”
吴硕拧开瓶盖。
“这工作履历越来越不好写了。”
顾衡补上最后一句:
异常对“身份—声源位置”关系的判断,可被人为误导。
他没有写“破解”。
还早。
只不过到这一步,至少能确定一件事:那东西不是无条件知道人在哪里。
它也需要信息。
需要回答。
需要方向。
需要某种可以被他们动手脚的输入。
这已经够用了。
工程上不怕系统会判断。
只要它还吃输入,就有机会给它喂错的。
晚上六点多,物业开始让住户回楼。
电梯恢复,消防广播暂时保持断开。
周师傅坐在弱电间门口吃面包,面包袋撕不开,最后拿剥线钳剪了一刀。
吴硕看了两眼。
“专业工具解决生活问题。”
周师傅头都没抬。
“你们今天拿消防广播做实验,有资格说我?”
吴硕闭嘴。
顾衡和韩慎行最后巡十二到十四层。
没再出现姓名呼叫。
程舟也重新跨出家门。
三秒。
五秒。
十秒。
秦婉一直能叫出“小舟”。
到十五秒,顾衡叫停。
够了。
没人需要为了一个漂亮数据,把二十年的儿子再忘一次。
秦婉把程舟往屋里拉,拖鞋在门槛上磕了一下。她低头扶鞋,没说话。
程舟也没说。
只帮她把踩歪的后跟提起来。
顾衡移开视线。
这次事件还没资格叫结束。
顶多是找到了一个临时漏洞。
他写:
南桥程家事件——局部稳定。
声学欺骗有效。
持续性未知。
19:04。
住户开始返楼。
顾衡下到一楼时,太阳已经贴到楼群后面。
大厅玻璃门被夕阳照得发黄。有人抱猫,有人拎菜,下午一直问维修基金的大爷还端着茶杯,茶叶总算泡开了。
顾衡站门边等韩慎行。
人群里,一个男人从外面进来。
四十岁上下,白色短袖,手里拎着一袋青菜和一盒鸡蛋。鞋底带水,踩在瓷砖上留下浅灰脚印。
很普通。
顾衡原本没看他。
直到那个人从大厅顶灯下面走过去。
旁边的人,影子都往右边偏。
保安。
大爷。
抱猫的女人。
连那袋青菜都在地上留了一团乱轮廓。
只有那个男人脚下。
干干净净。
顾衡抬头。
灯亮着。
再低头。
还是没有。
男人已经走到电梯口,按下上行键。
顾衡叫住周师傅。
“刚才那个白衣服的。”
“哪个?”
“拎鸡蛋那个。”
周师傅看了一眼。
“哦,老住户。”
“住这栋?”
“住啊,好多年了。”
电梯门开。
男人走进去。
顶灯从他头顶照下来。
轿厢地板上,仍然没有影子。
门慢慢合上。
顾衡没有追。
他先打开黑色日志。
19:07。
返楼住户中发现一人——
笔尖停了一下。
他写:
无可见投影。
然后抬头。
电梯数字正在往上跳。