核心想法
声波打到墙面的镜面反射,等价于墙后有一个「镜像声源」发出的直达声。要求一次反射点,只需把声源关于墙面做镜像,连接镜像源与听音位,连线与墙面的交点就是反射点——物理题变成了解析几何题。矩形房间里对 6 个面各镜像一次,所有一次反射都有闭式解。
高阶反射:递归的镜像
二阶反射(墙→墙)就是「镜像的镜像」:枚举墙面序列,逐面镜像声源,再从听音位反向回溯求出每一段路径的反射点。阶数越高,镜像源数量爆炸(矩形房间 n 阶约 6·5ⁿ⁻¹ 个),所以实际系统只算 1–3 阶——再往后的能量已经很小,交给统计模型处理更划算。
每条路径的能量
镜像法给出每条路径的几何(长度、墙面序列),能量按两条规则衰减:每反射一次乘 (1−α)(α 是这面墙的吸声系数,可以分频段),再按球面波 1/r² 随距离衰减。把所有路径的脉冲按到达时间和能量叠起来,就得到一条合成的房间脉冲响应。
它的边界
镜像法是几何声学:把声音当光线。低频下声波波长与房间尺寸相当,衍射和模态等波动效应占主导,几何假设失效——所以镜像法负责早期反射,模态要另算(见房间模态一文)。非矩形房间要逐墙段镜像并校验;凹角附近还会冒出物理上不存在的「幽灵反射」,需要按与真实墙面的距离过滤掉。
Acouvero 用它做什么
每一件需要知道「反射打在哪面墙」的事:第一反射点定位(吸声板该贴哪)、颤动回声检测(两面平行墙之间的来回反射)、以及多阶路径分析(1–3 阶,按 pyroomacoustics 的递归思路实现)。它不替代实测——扫频测量告诉你房间真实的样子,镜像法解释「为什么」。