刘建明
【环境音备忘:澜城公安局刑侦支队,第十一天。下午三点零四分。四楼走廊尽头的办公室,门牌上写"副支队长"三个字,字体是黑体,白底黑字,右下角有一道划痕。室内声景:空调外机在北墙震动,大约每三秒一个周期的低频脉冲——压缩机的启停节奏。走廊那边有人在用对讲机,断续的电磁噪声穿过薄木门漏进来,像一段被反复按下暂停键的广播。窗户关着。百叶帘半开,灰白色的光从缝隙里切进来,在对面墙上画了一排等距的横线。】
刘建明的办公室比贺铮想象的小。
一张办公桌、一个铁皮柜、两把椅子。桌面上的东西不多但堆叠方式有一种秩序——文件夹竖着插在金属架里,每个标签朝外,手写的字迹比费建国的大一号;茶杯是不锈钢的保温杯,黑色,没有任何装饰;笔筒里四支笔,三支黑色一支红色。
费建国坐在左边那把椅子上。贺铮坐在右边。两把椅子之间隔了大约四十厘米——不是刻意的距离,是办公室的宽度决定了只能这么摆。
刘建明坐在办公桌后面。
第一眼看过去,贺铮注意到的是领口。深灰色夹克,拉链拉到喉结下方一指的位置,内衬的白色衬衫领子从夹克领口露出一道窄边——像一条精确的白色描线。整个人瘦,颧骨的轮廓在日光灯下投出两道短短的阴影。头发灰白各半,偏分,用了定型但不明显——只是在太阳穴附近的发丝上能看到一层微弱的反光。
他在看报告。
费建国提前一天把纸质版给了他。今天是第二次看——按刘建明的说法,"第一遍是看内容,第二遍是看漏洞。"
这个说法让贺铮的脊背绷了一下。
安静持续了大约四分钟。空调外机的脉冲填充了所有间隙。贺铮听着那个三秒一次的低频震动,在心里数——一、二、三、停。一、二、三、停。走廊那边的对讲机声音远了,有人走过去了。门板在气流中极轻地晃了一下——铰链发出一声几乎不可闻的金属摩擦,频率大约在3kHz附近,像一只蚊子在门缝里振翅。
刘建明翻到第八页。货车声纹对比。他的翻页方式跟费建国不一样——费建国是从下往上翻,用拇指抵住纸张的底边;刘建明是捏着右上角翻的,纸页在空中划了一个弧度更大的弧线,发出的声音更脆——"沙"而不是"刷"。
"频谱分析这部分。"刘建明开口了。他的声音比费建国的高半个调,但慢。每个字之间有一个微小的间隙,像打字机一个键一个键敲下去的节奏。"你的结论是前三天同一辆车,第四天换了一辆。根据是声纹特征——点火频率、谐波结构。"
"对。"贺铮说。
"这个分析你用的什么软件?"
"iZotope RX和自己写的MATLAB脚本。RX做初步降噪和频谱显示,MATLAB做精确的参数提取和对比。"
刘建明点了一下头。不是表示认同——是记录。他在脑子里记录。贺铮从他眼球的微动判断出来——视线没有离开报告,但瞳孔的聚焦点在"iZotope RX"几个字上停了一秒,然后下移。
"声纹比对。"刘建明翻到第十页。"你拿到的对照样本——唐莉母亲提供的微信语音——保存在什么设备上?原始文件还是转码过的?"
贺铮没想到他会问这个。这是一个技术问题——不是声学的技术问题,是证据链的技术问题。微信语音在手机端存储的格式是silk或amr,经过压缩,会丢失高频信息。如果齐秀英换过手机(换过三部),文件在迁移过程中可能被二次压缩。
"原始格式是silk。齐秀英换过三部手机——从安卓到安卓,通过微信自带的聊天记录迁移功能转移的。我拿到的是最新那部手机上的文件,用丝绸解码器导出为wav再做分析。"
"中间有没有信息损失?"
"有。silk编码的采样率是16kHz,有效频率上限8kHz。对比用的录音素材——我2016年的采风录音——是96kHz/24bit。两者的频率范围不匹配,我只取了8kHz以下的共振峰数据做对比。报告第十页底部有说明。"
刘建明低头看了看页底的那行小字。他看小字的时候没有戴老花镜——要么视力好,要么忍着。
"F1到F3偏差小于5%。"他念出来。"'不排除同一人'。这个结论——你自己信多少?"
直球。
贺铮在回答之前看了费建国一眼。费建国的脸没有表情——那种特定的没有表情,意思是"你自己说,我不帮你。"
"从声学角度,基频和共振峰的匹配度落在合理范围内。情绪对声带的影响——恐惧会让基频上移,幅度因人而异,11.5%在文献记录的范围内。但声纹鉴定不是指纹——同卵双胞胎的声纹可以高度相似,不同时期同一个人的声纹也会有变化。"他顿了一下。"我信方向。不信结论。"
"什么意思?"
"意思是这些数据足以证明录音里的声音来自一个年龄、性别、方言特征与唐莉匹配的人。但不能证明就是唐莉本人。要证明那个,需要有资质的司法鉴定机构用国标流程重新做。"
刘建明把报告合上了。十二页。他的手掌压在封面上——左手,无名指上有一道淡白色的疤,从指根延伸到第一关节,像一条褪了色的旧地图上的河流。
"费哥。"他叫费建国。
这个称呼让贺铮微微一愣。在他的认知里,费建国是"老费"——退休老头,搪瓷缸子和千层底布鞋。但刘建明叫他"费哥"。一个字的差别,把时间拉回到了二十多年前——那时候费建国是带他的师父,他是刚分到队里的新人。
"嗯。"费建国的回应只有一个音节。
"这个案子——唐莉案——2016年的原始卷宗我没经手过。2023年积案清理的时候我知道你查了一遍,但具体内容你没跟我说过。"刘建明的语速没有变,但贺铮听出了一个微妙的变化——句子之间的间隙缩短了一点,从打字机变成了连续打印机。"你今天带着这个年轻人来找我——你想要什么?"
费建国没有立刻回答。他从裤子口袋里摸出那盒变形的利群烟盒,转了半圈,没抽出来。一个习惯动作。
"建明。"费建国叫了他的名字,没有加"小"字。"卷宗你调得到。2016年的原始卷宗和2023年积案清理的补充材料。"
"能调。"
"你先调出来看看。"
"看什么?"
费建国的手指在烟盒上轻轻敲了两下。"看南门。看5号仓库。看那几个月里有没有人提到过深夜货车进出的事。"
刘建明的眼睛眯了一下。不是因为光线——百叶帘的方向没变。是一种自动的微表情,像快门按下了一次。
"你在引导我。"他说。
"我在提示你。"费建国说。"引导是让你看我想让你看的东西。提示是告诉你从哪里开始看。看完之后你怎么判断,是你的事。"
安静。
空调外机的三秒脉冲继续。一、二、三、停。走廊远处传来一阵脚步声——皮鞋底,节奏快,经过门口时声音达到峰值然后衰减,多普勒效应在人耳感知范围内几乎不存在但贺铮的职业本能还是捕捉到了频率的微移。
刘建明站起来。他的椅子是带轮子的转椅,椅轮在塑料地垫上滑出了一声短促的"嘶"——比窗缝的风声尖锐,衰减也更快。他走到窗户旁边。把百叶帘拨开了两片,看了一眼外面。
从四楼望出去能看到什么?贺铮不知道。但刘建明看了大约五秒就转回来了。他没有回到办公桌后面,而是靠在铁皮柜上——柜门的铁皮在他的背部重量下发出一声低沉的"嗡",金属的共鸣延续了一秒多。
"录音是2016年的。"他看着贺铮说。"你当时在纺织厂附近采风。你是学录音的大学生,暑假回家录声音。这是你的说法。"
"这是事实。"贺铮说。
"事实。"刘建明重复了这个词。语调是平的,但他把这个词从句子里单独拎出来放了一秒——像一个质检员把一个零件从流水线上拿起来,对着光看了看,又放回去。"你2016年录了那些音频,存了十年。十年后拿出来听——发现了异常。然后找到费哥。然后费哥找到了我。"
"对。"
"中间你有没有把这些录音给别人听过?发过网上?"
"没有。原始文件一直在我的硬盘和备份盘里。降噪处理后的版本只有我和费——老费听过。"
刘建明听到贺铮差点叫"费建国"又改口叫"老费"的那个停顿,嘴角动了一下——不是笑,是某种识别。他对这个年轻人的紧张程度有了一个初步评估。
"报告先放我这里。"他说。回到办公桌后坐下。椅轮又"嘶"了一声。"卷宗我今天下午就调。2016年的和2023年的。"
费建国点头。烟盒被放回了口袋。
"看完之后——如果有值得查的——我会跟你们说下一步怎么走。"刘建明把报告放进桌上的文件架——竖着插进去,标签朝外。他拿起红色的笔在标签上写了三个字。贺铮看到了:唐莉案。
三个字。黑体、楷体、宋体——无所谓。红色的墨水在白色标签纸上像一条缝合线。这三个字在2016年的某一天被写进了一份卷宗的封面,然后在某一天被归入"未结"的档案柜。现在它又出现在了一张新的标签上。
"还有一件事。"费建国说。他的声音降了半度——贺铮已经熟悉这个信号了。每当费建国要说关键的话,音量会自动下调,像一个混音师在推子上做了一个微妙的衰减。
刘建明等着。
"2016年的时候——有人打过招呼。"
空气变了。不是温度——是密度。贺铮感觉得到。刘建明的脊背离开了椅背,非常轻微的动作,大约两厘米的位移。但那两厘米改变了他的姿态——从"听汇报"变成了"听情报"。
"谁?"
"我不知道。我当时是副大队长,上面直接跟我说的是分管副局长,但我不确定是不是他自己的意思。原话是——"费建国顿了一秒,像在确认记忆的精确度,"'老费,案子先放一放,上面有人关注。'就这一句。没有解释。"
刘建明的手指在桌面上无声地收拢了一下——五根手指从摊开到并拢,像一把慢慢合上的折扇。
"分管副局长。"他说。"当年的还是现在的?"
"当年的。张永清。2019年调走了,去了省厅装财处,现在应该已经退了。"
刘建明点了一下头。这次是真正的记录——不是在脑子里,而是在那张看不见的内部清单上又添了一条。
"你说这个,是在提醒我——查的时候小心。"
"我在提醒你——你不是第一个查这个案子的人。"费建国的声音回到了正常音量。"但你可以是最后一个。"
刘建明看了费建国大约三秒。那种看法和费建国看贺铮时的方式有一种隔代的相似性——都是在评估一个人说的话和他实际心理之间的偏差。但刘建明的评估对象不同。他评估的不是可信度——费建国的可信度在二十年前就已经建立了。他评估的是紧迫度。
"施工什么时候开始?"
费建国看了贺铮一眼。
"S-2区土方开挖计划是五月六号。"贺铮说。"5号仓库在S-2区。距今二十二天。"
"二十二天。"刘建明拿起笔——黑色的那支——在一张便签纸上写了"5/6"。然后在旁边画了一条短横线,横线另一头写了"4/14"。今天的日期。两个数字之间的横线不长——大约三厘米。但它代表的是二十二天。
"如果要走正式程序——现场勘查、搜查令——"
"我知道流程。"刘建明把便签纸折了一下,放在报告旁边。"费哥,你先走吧。报告放我这里。卷宗我看完之后联系你。"
这句话的意思很明确:你已经说完了你该说的。接下来是我的工作。
费建国站起来。千层底在塑料地垫上发出了一声极轻的摩擦。他走到门口的时候,贺铮也站了起来——椅子的金属腿在地面上刮了一声,刺耳,在这间小办公室里被四面墙壁反射了至少两次。
"小贺。"刘建明叫住了他。
贺铮转头。
"你的设备和原始文件——保管好。硬盘和备份盘都不要连网。"
一句话。没有解释。但贺铮听懂了——跟费建国给他U盘时说的"你保管"是同一种语法。两个不同年纪的刑警,用各自的方式说了同一件事:小心。
"明白。"贺铮说。
他跟着费建国走出去。门在身后合上——弹簧合页发出一声低沉的"嗒"。不是费建国家那种弹簧锁的"咔",更闷更短,像一个句号被轻轻点下去。
走廊里的声音立刻涌上来。对讲机的电磁噪声、某个办公室里的键盘敲击声、远处楼梯间有人在喊"老王你快点"的回声——每一种声音都在试图占据不同的频段。公安局的声景跟费建国家完全不同。费建国家是减法——安静的底板上偶尔浮出一两个声音。这里是加法——声音堆叠在一起,你只能从中辨认出你需要的那一层。
费建国走在前面。千层底在水磨石楼梯上的声音贺铮太熟悉了——布底对石面,几乎无声。但今天多了一个声音:费建国走下楼梯时,膝关节发出了一声极轻的咯吱——骨骼或软骨在运动中的摩擦。很短。只有贺铮的耳朵能在走廊的噪声中把它单独挑出来。
走出大楼。
四月的下午,天空是那种灰白色——跟前两天一样。没有太阳也没有阴天的决断。光线均匀地散布在每一个表面上,不制造阴影也不提供方向。
费建国走到停车场边上才开口。
"他在记。"
"我知道。"贺铮说。
"他记东西的方式跟我不一样。我记在脑子里。他记在流程里。他如果决定查——不会是因为我找了他,是因为卷宗里有他认为值得查的东西。"
"你觉得他会查吗?"
费建国从口袋里摸出烟盒。这次真的抽了一根出来。中指和无名指之间。打火机"咔嗒"响了一声——丁烷气流的嘶声,然后是烟丝燃烧的微弱噼啪。
他吸了一口。烟雾在灰白色的空气中散开——跟天空的颜色几乎同色,一种灰白融入另一种灰白。
"建明这个人——"费建国把烟夹在手指间举着,看着停车场对面的一排白色警车。"二十年前我带他的时候,他就有一个习惯。别人看到疑点会先说出来,他不说。他先自己看完所有材料,再把疑点排序——哪个最关键、哪个可以暂时忽略、哪个需要补充证据。然后他才开口。"
"他今天没说疑点。"
"他今天在看第二遍。"费建国弹了一下烟灰。灰烬在空中划了一道抛物线,落在停车场的水泥地上。"第二遍他看的不是你写了什么。他看的是你没写什么。"
贺铮想了一下。"你是说——他在看报告里有没有我故意隐瞒的东西。"
"他在看整体逻辑。"费建国的修正不带批评的意味。"一个声音设计师发现了一段十年前的异常录音,做了专业分析,然后找了一个退休刑警。退休刑警没有自己去公安局——等了一周,把声音设计师带来了,让他当面讲。他在想:为什么不是退休刑警自己来?为什么非要带一个外人?"
"因为你说我讲声学部分更合适。"
"对。但他听到的不只是这个。他听到的是——老费一个人来,只有一个退休老头在追旧案。老费带着一个专业人士来,这就成了'有新证据'。分量不一样。"
贺铮沉默了几秒。他听到停车场里一辆警车启动的声音——六缸汽油机,怠速平稳。不是货车。
"他什么时候会联系你?"
"看他的速度。快的话两天。慢的话——"
费建国没有说完。不是因为不想说,是因为他的手机响了。
来电显示贺铮看不到。费建国看了一眼屏幕,然后看了贺铮一眼——那个"看"持续了不到半秒,但传递的信息很密集:你先走。
"喂。"费建国接了电话。转身走向停车场另一侧。千层底在水泥地上的声音变成了一种更干硬的摩擦——失去了水磨石的柔和。
贺铮站在原地。他听到了费建国说的第一句话——因为风向对了,声音被送过来了。
"建明。这么快。"
贺铮的心跳加速了。不是剧烈的——大约从六十五跳到了八十。刘建明在他们走出办公室不到五分钟就打了电话。这意味着他不是"先看卷宗再联系"——他已经有了初步判断。
费建国的声音越走越远。"嗯"、"对"、"行"——零碎的音节被距离和环境噪声吞没。
贺铮等了四分钟。
费建国走回来的时候,烟已经灭了。他把烟蒂扔进了停车场边上的垃圾桶——精准地丢进桶口,没有碰到桶沿。
"他说了什么?"
费建国把手机揣回口袋。
"他问了一个问题。"
"什么问题?"
费建国看着贺铮。那种看法又出现了——判断偏差的看法。但这次他看的不是贺铮,是贺铮身后的某个东西。也许是那栋灰白色的办公楼。也许是什么都不是。
"他问——'唐莉案当年有没有做过现场勘查'。"
贺铮等着下文。
"答案是没有。"费建国说。"因为那年定的是'失踪',不是'刑事案件'。失踪不需要做现场勘查——除非有证据表明涉嫌犯罪。2016年没有。所以5号仓库从来没有被正式勘查过。"
"从来没有。"贺铮重复这四个字。
"十年。"费建国说。"十年里没有任何人——包括我——正式进入5号仓库做过检查。"
风吹过停车场。法桐的絮从某个方向飘过来,一小团白色的绒毛在两个人之间的空气中旋转了一圈,然后被带走了。
"建明说他今晚调卷宗。"费建国往停车场出口走。贺铮跟上。"明天看完给我回话。"
"你觉得他会怎么判断?"
费建国走了几步才回答。不是犹豫——是在选措辞。
"他不是在判断值不值得查。"费建国说。"他在判断查了之后能不能控制住局面。"
"什么意思?"
"一旦启动正式调查——搜查令、技术科到场、封锁现场——澜曜中心的施工就必须停。停工通知要走住建局。住建局会问为什么停。答案是'刑事案件需要'。然后丁伟东会知道。马洪亮会知道。管委会会知道。所有人都会知道。"
费建国停在停车场出口。回头看了一眼那栋楼。
"建明在想的是——他掀了这个盖子之后,能不能按住里面的东西。"
他走了。
贺铮站在停车场出口。四月的风裹着法桐絮和灰尘从南边吹过来。远处有工地——不知道是不是澜曜中心。打桩机的声音一下一下传过来,被距离衰减成了一种心跳般的低频脉冲。
一下。一下。一下。
他掏出手机。何瑶昨晚最后那条消息还在屏幕上——"2015年宏达建设中标了经开区南片区的市政道路工程 施工范围包括东方纺织厂门前那段路"。
他没有给何瑶发消息。现在不能。费建国说得对——何瑶有用,但小心。在刘建明做出判断之前,何瑶那条线必须按住。
二十二天。
贺铮骑上电瓶车。电机嗡鸣启动。
他驶入澜城下午的车流。打桩机的声音在他身后渐渐远去——但没有完全消失。它混进了城市的底噪里,变成了一个你不注意就听不到、但一旦注意就再也忽略不了的频率。
像那段录音里的求救声。