Skip to content

频谱

【环境音备忘:工作室,第六天。凌晨一点十七分。空调关了——压缩机启停的周期性噪声会污染频谱分析。窗户封死。房间的本底噪声降到了 22dBA,接近录音棚标准。设备:iZotope RX 11 Advanced、MATLAB R2024b(自编脚本)、Praat 6.4。监听:AKG K872。硬盘在转,风扇在转。别的什么都没有。】

贺铮把二十三小时的录音按日期切成了六段。

八月一日。八月二日。八月三日。八月五日。八月六日。八月七日。八月四日没有录——那天他回了学校,导师临时叫他去实验室调一组拾音器参数。这个空白让他在心里记了十年。

六段录音,六个长条形的频谱瀑布图,并排排列在三十二寸的显示器上。横轴是时间,纵轴是频率,颜色代表能量密度——蓝色是安静,绿色是中等,黄色是显著,红色是强。六条瀑布图像六根横截面不同的树干,被剖开后暴露出各自的年轮。

他先做的是最笨的工作:通听。

不是跳着听,不是抽样听——是从头到尾、每一秒都不跳过地听。二十三个小时。他分了三个晚上。第一个晚上听完了八月一日到三日。第二个晚上听了八月五日和六日。第三个晚上——也就是今晚——听完最后一段,八月七日。

通听的同时他在做标注。每出现一个值得注意的声音事件,他就在时间轴上打一个标记点,附上简短的文字描述。三个晚上下来,标记点的数量是一百一十四个。

他把标记导出成一个表格。列:日期、时间码、持续时长、频率范围、声压级估算、声源分类、备注。然后按声源分类排序。

结果分成了几个大类:

机器声——最多的一类,四十七个标记。纺织机的稳态运转噪声,频率集中在 60-200Hz 低频段,偶尔有轴承磨损的高频谐波冒出来,在 2kHz 到 4kHz 之间像一根细刺。机器声每天的模式几乎一样:白天满负荷运转时频谱饱满厚实,像一堵砖墙;夜间减产后变薄变窄,底噪降了十到十五个 dB。唯一的变化是八月六日——晚上九点零四分,机器声突然消失了大约二十分钟。不是渐弱,是骤停。然后又恢复了。

贺铮在这个标记点旁边写了一个问号。厂区停电?设备检修?还是有人故意关了机器——因为需要安静来干别的事情?

人声——二十一个标记。除了八月三日那段已经降噪确认的求救声,其他人声大多是远距离的、不可辨识的碎片。工人换班时的招呼声、门卫室方向传来的收音机、有人在厂区里咳嗽。但有三段人声引起了他的注意。

第一段:八月一日 23:15。两个男声对话。距离太远,大部分听不清,但他用频段隔离和时间拉伸处理后,拼出了几个词——"那批"、"老时间"、"南门"。这段他和费建国已经分析过。

第二段:八月二日 22:40。一个男声,单独的,不像在对话——更像在打电话。声音比第一段更远,只能勉强辨认出语调的起伏,像一条被压扁了的心电图。贺铮反复听了十几遍,只确定了一个词:"环保。"

第三段:八月五日 23:50。这段最短,只有四秒。一个声音——他不确定是男是女——发出了一连串急促的、压低的音节。不像说话,更像某种被压制的声响。吞咽?呜咽?布料摩擦?他提取了这段的频谱包络,基频在 180-240Hz 之间摇摆不定。如果是男声,偏高;如果是女声,偏低。他在备注栏写了"待定"。

车辆声——十八个标记。白天零散的,不规律。夜间的集中在三个时段:深夜 21:00-23:30 之间,有四次明确的柴油发动机声——跟费建国总结的货车时间表吻合。贺铮对这四次车辆声做了更细致的分析。

他打开 MATLAB,调出自己写的一段脚本——声纹特征提取。原理不复杂:每台发动机都有独特的振动频谱,取决于气缸数量、排列方式、转速、磨损程度。就像人的嗓音有声纹,机器也有。

四次货车声的频谱被提取后叠在一起比对。

结果:八月一日、二日、三日的三次高度相似——同一台发动机。四缸直列柴油机,怠速转速约 750rpm,有一个气缸的压缩略低,在频谱上表现为第三谐波的一个凹陷。这台车有点毛病,某个缸的气门间隙偏大,或者缸垫有轻微渗漏。

八月六日那次不同。六缸机,排量更大,怠速更稳。另一台车。

两台货车。前三天是同一台,第六天换了一台。

贺铮靠在椅背上。弹簧没有响——他前天往弹簧连接处滴了几滴润滑油,那个"嘎吱"声消失了,取而代之的是一种柔软的、几乎无声的下沉。

他盯着屏幕上叠在一起的四组频谱曲线。三条重合的,一条独立的。为什么换车?第一台车出了问题?还是第六天晚上要运的东西需要更大的车?

链条声。他想起来了。八月六日的链条声——金属环碰撞的、不规则的叮当声——出现在货车引擎声之后的第四十七秒。费建国说那晚是"转移"。把 5号仓库里的人清走。如果人要被移动,用链条固定,确实需要更大的空间——六缸机意味着更大的车厢。

他把这个分析结果单独保存,命名为"车辆声纹比对.pdf"。然后继续。

金属敲击声——八个标记。分散在不同日期,频率和节奏各异。白天的那些可以归因为工厂日常——管道维修、零件搬运、铁门开合。夜间的有两组值得注意。

第一组就是八月五日的"两短一长"。他已经分析过方向——左声道偏重,指向5号仓库方向。

第二组是八月六日 21:12,比货车到达早了八分钟。三下均匀的敲击,间隔约一秒。频率低、共鸣闷——跟"两短一长"的高频清脆完全不同。两个不同的金属物体,两个不同的位置。

贺铮调出这两组敲击声的频谱特写。

"两短一长":基频 880Hz,谐波丰富,衰减时间 0.4 秒,共鸣特征指向一根直径较小的金属管——钢管或铁管,壁厚约 3-5 毫米。敲击力度中等偏弱,像是用手指关节或者某个小物件在敲。

三下均匀敲击:基频 340Hz,谐波单一,衰减时间 0.7 秒,共鸣特征指向一个更大的金属结构——工字钢、立柱、或者厚壁管道。敲击力度更大,用的可能是拳头或者硬底鞋。

两个声源之间的到达时差约 0.08 秒——声速 340 米/秒,换算成距离大约 27 米。

27 米。

费建国的地图上,5号仓库长轴方向是 30 米。如果一个人被拴在仓库一端的铁柱上,另一个人在仓库另一端——

贺铮闭了一下眼睛。

不要想画面。分析数据。

他睁开眼,把两组敲击声的分析并排放在屏幕上,开始写报告。

标题他想了一分钟。不能太学术——这份报告最终可能要给律师或者检察官看,不能全是术语。也不能太通俗——它要有证据效力,必须经得起专业鉴定人的审查。

最后他写的是:

声学鉴定分析报告(初稿) 样本来源:2016年8月1日—7日 澜城经开区东方纺织厂外围环境录音 录音设备:Sony PCM-D100(SN: xxxxxxxx) 采样率:96kHz / 24bit 分析人:贺铮(独立声音设计师,录音工程学士)

他停了一下。"录音工程学士"——这个头衔在法庭上够不够分量?大概不够。声学鉴定在国内归类为司法鉴定的一种,出具正式报告需要有资质的鉴定机构和持证鉴定人。他没有鉴定资质。他写的这份报告,法律效力约等于零。

但费建国的照片也没有法律效力。周大海的口头陈述也没有经过正式笔录程序。所有的东西都是碎片,都是"不够"。但费建国说过——合在一起,也许够了。

他继续写。

报告分成四个部分。

第一部分:录音概况。设备参数、录音地点、录音时间、环境条件描述。这部分最好写,都是客观数据。

第二部分:异常声音事件汇总。一百一十四个标记点的分类统计和重点分析。他决定只详细展开最关键的几个——求救声、货车声纹、敲击信号——其他的作为附表列在后面。

第三部分:声源定位分析。利用立体声录音的声道差异和混响特征,估算关键声源的方位和距离。这部分他用了最多的时间。Sony PCM-D100 是 XY 制式的立体声拾音,两个麦克风呈 90 度夹角——不是理想的声源定位配置,但通过分析声道间的幅度差和到达时差,结合已知的录音机摆放位置和厂区平面图,可以大致确定声源的方向。他用 MATLAB 跑了一个简单的模型,把结果叠加到费建国给他的那张厂区地图上。

几个关键声源的估算方位都指向同一个区域:南侧仓库群。5号仓库在那个区域的最东端。

第四部分:结论与待验证事项。这部分他写得最慢。每一句话他都要反复掂量——哪些是数据支持的、可以断言的;哪些是推断的、需要注明推断依据和不确定性的;哪些是猜测的、不应该写进报告的。

他一个字一个字地写:

基于上述分析,可以确认以下事实:

  1. 录音中存在至少一次人类求救声(2016年8月3日 约40:02),说话者为成年女性,非本地口音,情绪高度紧张。
  2. 2016年8月1日至6日夜间,有至少两台柴油货车经由录音地点附近通行,其中第一台车(8/1、8/2、8/3)为同一车辆,第二台车(8/6)为不同车辆。
  3. 2016年8月5日存在规律性金属敲击信号("两短一长"模式),声源方位指向厂区南侧仓库群方向,并有来自不同位置的响应信号,两信号源间距约27米。

写到这里他停了。

"至少一次人类求救声。"他读了一遍自己写的话。在录音里那是一个活人在喊救命。在报告里它变成了"人类求救声"——被括号、时间码、分贝值框住的一个声学事件。他知道这种转换是必要的——法庭需要的是可验证的事实陈述,不是情感——但写下去的那一秒他还是停了。

耳鸣在左边响了一下。不是那种持续的丝鸣——是一声短促的"叮",像有人在他颞骨内侧弹了一下玻璃杯。然后消失了。

他继续写待验证事项:

待验证:

  • 求救声说话者身份(需与唐莉的已知语音样本进行声纹比对;目前未获取唐莉本人的语音样本)
  • 货车车辆信息(需调取2016年8月厂区周边道路的交通监控;若记录已覆盖则需其他途径确认)
  • 敲击信号的含义及发出者身份

唐莉的语音样本。他在这一行下面划了一条线。

他没有唐莉的声音。唐莉的家属可能有——手机里的语音消息、视频通话的录屏、过年时拍的家庭视频。但他不认识唐莉的家属,费建国也没有提供过这方面的线索。如果能拿到唐莉说话的录音,做一个基频对比——不需要完整的声纹鉴定,只要确认基频范围和共振峰分布在合理的匹配区间内——就能给"录音中的女声是唐莉"这个判断提供支撑。

还有另外两个人。陈小燕。吴芳芳。

八月五日的敲击信号——"两短一长"和那三下回应——来自两个不同的人、两个不同的位置。如果那时候 5号仓库里关着不止一个人——

贺铮站起来。膝盖没有响——他学会了每隔四十分钟站起来活动一次,这是做通听的那三个晚上养成的习惯。

他走到窗户边,没有掀吸音棉,只是站在那里。手指无意识地敲了一下窗框——金属的窗框发出一声沉闷的"嗡"。铝合金,壁厚两毫米左右。比仓库里那根铁柱的共鸣薄得多。

他拿起手机。凌晨两点四十分。费建国应该睡了——老刑警的作息比他正常得多,十一点之前必定关灯。

他还是发了一条微信:

"老费,唐莉家属那边有没有她说话的录音?手机语音、视频都行。我需要做声纹比对。"

消息发出去,状态停在"已发送"。没有"已读"的提示。手机屏幕在黑暗中亮了几秒,然后暗下去。

贺铮把手机放回桌上。

他重新坐到电脑前,把报告的初稿通读了一遍。十四页。措辞还需要打磨,有几处分析的置信区间没有标注,声源定位模型的误差估算也需要补充。但骨架已经搭好了。

他保存文件。硬盘嗒了一声——磁头归位的声音,每次保存都会听到。这块硬盘里现在存着两份跟唐莉案有关的文件:降噪后的语音提取(v3)和这份声学分析报告初稿。两份文件加起来不到五十兆。五十兆的数据量,在这块三万亿字节的硬盘里几乎不占空间——比一首无损格式的流行歌还小。

但这五十兆可能比他这块硬盘上所有别的文件都重要。

他关掉显示器。屏幕黑下来之后,工作室里只剩下设备待机的微光——路由器的蓝色LED、充电器的绿色指示灯、硬盘底座的白色呼吸灯。三个颜色在黑暗中各自闪烁,互不相干,像三颗孤立的信号灯。

贺铮没有立刻起身。他坐在黑暗里,听着工作室的底噪——22dBA 的寂静里仍然藏着声音:硬盘盘片旋转的嗡鸣、空调管道里残余气流的呼吸、楼上某户人家水管里水流的低频脉动。声音永远不会真正消失。它只是变小了,退到了听觉阈值以下,等着某一天被某个足够灵敏的设备或者某个足够固执的人重新打捞上来。

他想到费建国那张地图上的红笔标注——十几个散落的点位。想到他自己刚刚完成的声源定位图——几条交叉的方位线,汇聚在 5号仓库的位置。两张图叠在一起的时候,一个退休老刑警七年的直觉和一个声音设计师六天的分析指向了同一个坐标。

但那个坐标上面现在站着一台打桩机。

"咚"——他似乎又听到了那个声音,通过十七公里的城市空气传过来、穿过隔音棉、抵达他的耳膜。当然这不可能——凌晨两点四十五分,工地早就停工了。那是记忆里的声音在回放。人脑有这种功能:听过一次的声音会被编码储存,在安静中被随机触发,像唱片上的一道划痕让唱针反复经过同一个位置。

他站起来,拉开门,走进走廊。走廊里的声控灯亮了——白光。他走向洗手间。水龙头打开,水声冲刷了所有别的声音。他洗了把脸,冷水激在皮肤上的触感让耳鸣退后了一步。

镜子里的自己看起来不太好。眼眶发青,嘴唇干裂,额头上有耳机头梁压出的一道红印。三十四岁的脸在日光灯下显得比实际年龄老——不是皱纹的那种老,是一种消耗过度的灰。他想起费建国的脸——六十多岁的退休老刑警,皮肤粗糙但气色正常,因为他到点吃饭到点睡觉到点散步。那一代人的身体是用规律维护出来的,不像他,靠咖啡因和偏执撑着。

他关掉水龙头。水声消失后镜子里只剩下安静和一张需要睡觉的脸。

回到工作室,他没有打开电脑。他拿起手机看了一眼——费建国还没有回复。凌晨三点了。

他把手机放在枕边。工作室里的行军床——金属折叠架、海绵垫、一条灰色毛毯——是他搬进来第二天就买的。不是因为勤奋,是因为懒得通勤。床架在他躺下的时候发出一声金属的呻吟——弹簧和铰链的复合共振,每次都不太一样,取决于他躺下的速度和重心落点。

他闭上眼。耳鸣回来了——左侧,6kHz 附近,细而持续,像一根看不见的钢丝被无限拉长。他已经跟这根钢丝共处了五六年了,有时候能忽略它,有时候不能。今晚不能。今晚那根钢丝上面好像缠了别的声音——敲击声、货车引擎声、一个女人喊"救命"的尾音。所有这些声音在他关上眼睛之后并没有消失,它们只是从外耳转移到了内耳,从空气传导变成了神经传导,在他的听觉皮层里继续播放。

手机屏幕亮了一下。

费建国的回复。凌晨三点零七分。老刑警也没有睡。

"唐莉家在安徽宿州。母亲齐秀英。我有电话。明天给你。"

然后隔了十秒,又来了一条:

"小贺。你那个报告写完了先别给人看。"

贺铮看着这条消息。"先别给人看"——五个字。他读出了两层意思。第一层:报告还不完善,不要轻率流出。第二层:有人在看。

他回了一个"好"。

手机暗了。工作室暗了。

他躺在行军床上听着自己的呼吸和耳鸣和硬盘的转动声。三种声音叠在一起,构成了此刻这个空间的底噪——22dBA的寂静加上一个人体的运行噪声。

在这层底噪下面,在十七公里以外,在一片被围挡圈起来的废墟下面,也许还有别的声音在等着被听到。不是录音。是泥土和水泥和碎砖下面的、已经沉默了十年的东西。

打桩机明天还会继续打。"咚"。一下一下。像一个巨大的倒计时装置。

贺铮翻了个身。行军床又叫了一声。

他闭上眼睛,在敲击声的幻听中缓慢地滑向了睡眠。