自检(?selftest=1)
盲 RIR 估计:名词与发现的可视化说明
这两天的实验到底发现了什么,每个词是什么意思。
- 一条 RIR 的频率响应可以用倒谱拆成两部分:整体形状(频谱包络)和细密起伏(频谱精细结构)。
- 最强的现有系统(公开 Rec-RIR)精细结构较好、频谱包络偏差大;我们的系统 A 频谱包络较准、精细结构较差;把两者按倒谱拆开再拼起来,在我们的主指标上四个测试集都更好。
- 换成更接近人耳的度量(梅尔频带、只看有语音的帧)后,拆分方案仍优于 J2(四个测试集)和 Rec-RIR(点估计四个测试集都更好,ACE 的区间碰到零);主指标上的收益 91% 以上来自 1 kHz 以下;C50、DRR、EDC 几乎不变。以上重评尚未独立审计。
全页统一配色
页面里带虚线下划线的词,鼠标悬停(触屏点一下)会给出一句话解释;完整解释见第 12 节术语表。所有演示信号都在浏览器里按 16 kHz 现场合成,随机种子固定。
1. RIR 是什么
一句话:在房间里拍一次手,话筒录到的那一整段声音,就是这个房间的 RIR。
声音从声源出发,一条直线走到话筒(直达声),另外一些先撞墙再拐到话筒。撞墙的路更长,所以来得更晚、更弱。把"撞一次墙"画成"墙对面有一个镜像声源",就能一眼看出每条回声的到达时间。
点"拍手"看波前扩散;右图同步画出 RIR。
右图:① 直达声(5 ms) ② 早期反射(其后几十毫秒,能分辨出一个个回声) ③ 晚期混响(密集、按指数衰减)
要点
- RIR=房间对一次"拍手"的完整回应。本项目把它截为 0.65 s、10440 个采样点(16 kHz)。
- 最高的尖峰是直达声;随后几十毫秒里能分辨出一个个回声,叫早期反射;再往后是密集、按指数衰减的晚期混响。
- 旧称"核"=RIR。"卷积核"是信号处理里的泛称,本领域直接说 RIR。
2. 卷积:干声 ⊛ RIR = 混响语音
一句话:卷积就是"把干声的每一个瞬间都换成一次拍手的回响,再全部叠起来"。
盲估计的处境:只给你最下面那条混响语音,上面两条都看不到,要把 RIR 猜出来。
三条波形:干声探针(2 s 合成"类语音")、RIR、两者卷积的结果。
要点
- 混响语音的每一个采样,都是干声在各个延迟上按 RIR 加权叠加的结果。
- 干声估计=网络从混响语音里猜出来的干声(旧称"源")。第 8 节的方案要用到它。
3. RIR 的频率响应
一句话:同一条 RIR 换个角度看——每个频率上它有多强,这就是频率响应。
下图是合成 RIR 的对数幅度谱(16384 点 FFT,0–8 kHz)。可以看到两种尺度的变化同时存在:大范围的缓慢起伏(例如低频偏重、高频偏暗)和非常细密的上下抖动。下一节用倒谱把两者分开。
合成 RIR 的对数幅度谱
4. 倒谱:把"整体形状"和"细密起伏"分开
一句话:对对数幅度谱再做一次傅里叶变换,就得到倒谱;倒谱的低端是频谱包络,高端是频谱精细结构。
横轴的单位仍然是时间(毫秒),因为它是"频谱上起伏的周期"换算回来的——为了区别于普通时间,习惯上叫倒频率。拖动滑块改变倒谱截断点,三张图同时变化。
上:对数幅度谱(灰)+频谱包络(橙)。中:倒谱,竖线是截断点。下:频谱精细结构=对数谱 − 包络。
要点
- "对数谱再做一次傅里叶变换"就是倒谱(cepstrum),1963 年为分析回声而发明,是经典工具,不是本项目的发明。
- 倒谱低端(截断点以内)=频谱包络:RIR 频率响应的整体形状,音频工程里也叫 coloration/EQ(旧称"着色")。
- 倒谱高端=频谱精细结构:反射造成的细密梳状起伏(旧称"纹理")。
- 截断点越小,包络越平滑。实验里用 4 ms;截断点取 2 ms 或更小时,合成测试集上的收益消失。
5. 一个回声为什么在倒谱上是一个尖峰
一句话:延迟 τ 的一个反射,让频谱出现周期为 1/τ 的梳状起伏,倒谱就在 τ 处冒出一个尖峰。
这里的 RIR 只有两个点:直达声,加一个延迟 τ、幅度 g 的反射。拖动两个滑块看三张图怎么变。
上:只含直达声+一个反射的 RIR。中:对数幅度谱,呈梳状。下:倒谱,在 τ 处有尖峰。
要点
- 梳齿的间距正好是 1/τ Hz:τ 越大,梳齿越密;倒谱上的尖峰也越往右。
- 所以晚于截断点(4 ms)的反射落在频谱精细结构里;早于截断点的(例如直达声前后 ±2 ms 内的换能器响应、很近的桌面反射)落在频谱包络里。
- 直达声的绝对到达时间在幅度谱里完全看不到——整体平移只改变相位,不改变幅度谱。
6. 三层:频谱包络、时间能量、频谱精细结构
一句话:一条 RIR 可以分成三层;声学参数(T60、C50、DRR、EDC)只盯住"时间能量"这一层,对"频谱包络"几乎不反应。
下面用合成 RIR 当"真实 RIR"。三组滑块各自只改一层,五个量都与真实 RIR 比较(都是越小越好,0 表示完全一致)。
左:对数幅度谱(灰=真实,红=扰动后)。右:EDC 能量衰减曲线(三个频带取平均)。
① 频谱包络误差
② 时间能量误差
③ 频谱精细结构误差
要点
- 只动频谱包络时,重卷积谱距离明显变差,而分频带计算的 C50、DRR、T60、EDC 几乎不变——因为它们都是同一频带内的能量比值,一个频带整体乘以增益会被约掉。这正是实验里观察到的现象:频谱包络替换让主指标降低 0.05–0.07,C50、DRR、EDC 几乎不动。
- 只动时间能量时,T60、EDC、C50 跟着变。
- 只动精细结构时,T60 基本不变,重卷积谱距离变差。
- 所以"声学参数"(T60、C50、DRR、EDC)属于时间能量层,不属于频谱包络层。
7. 频谱包络替换 旧称着色移植
一句话:保留 X 的精细结构,把它的频谱包络换成 Y 的——两条都有明显缺陷的估计,拼起来就接近真实 RIR。
三条演示 RIR:X=真实 RIR 的精细结构+偏差很大的频谱包络(高频 −10 dB、低频 +6 dB);Y=真实 RIR 的频谱包络+被打乱的精细结构(反射时刻随机偏移、尾巴换成同能量包络的另一段噪声)。
灰=真实 RIR 的对数幅度谱,彩色=当前选中的那条。
要点
- X 对应公开 Rec-RIR(精细结构较好、频谱包络偏差可达 ±10 dB);Y 对应我们的系统 A(先估干声、再做幅度匹配求解;频谱包络较准、精细结构较差)。
- 被替换包络的 RIR(旧称"底座")就是 X。替换全程不使用真实 RIR,所以仍然是盲的。
- 同一个做法作用在 Rec-RIR 自己的 RIR 上,与作用在"最小二乘辨识出的 RIR"上,主指标几乎相同——主指标上的收益来自换对了包络;在对包络不敏感的时间结构度量(M3,见第 10 节)上,被替换包络的 RIR 的时间结构才是区分方法的部分。
8. 实际方案流程 旧称分解式链路
一句话:两条支路各出一样东西——一条出精细结构,一条出频谱包络——最后按倒谱拼成一条 RIR。
点任意一个方框看它的说明。
要点
- 输入只有混响语音。两条支路都不使用真实 RIR,所以整条流程是盲的。
- 虚线旁支:公开 Rec-RIR 自己输出的 RIR 也可以当 RIR_X,结果几乎相同。
9. 结果
一句话:在四个测试集上,拆分方案的重卷积谱距离都比公开 Rec-RIR、J2 和 A 低。
重卷积谱距离(越低越好)。虚线框=Rec-RIR + 真实 RIR 的频谱包络,是真值辅助的上限参照,不是可用系统。
262 条输入、131 条 RIR、46 个房间组。按房间配对的 bootstrap 95% 区间,拆分方案相对 Rec-RIR 与 J2 在四个测试集上全部低于零;去掉开发子集的 12 条 RIR 或其整个房间组后,16 个比较中 15 个仍成立;换六条新评分语音和 384/1536 窗后排序不变。
同数据检验(24 条输入的开发子集):灰=替换包络前,红=替换包络后。
旧称"前端底座仍更弱"的意思是:两种 Rec-RIR 从包络替换得到的改善差不多(0.084、0.071),剩下的差距来自精细结构,而精细结构的好坏取决于训练数据规模。
为什么固定一条曲线不行:能解释真值校正曲线多少变化。
注意
- 用一条全局固定曲线校正几乎无效(ACE 上反而变差 0.073)。
- 各测试集自己的平均曲线能解释真值校正曲线 73% 的变化,全局一条只能解释 24%。
- A 的包络与真值校正曲线的逐输入相关 0.61——包络需要逐条输入地估,不能预先写死。
10. 主指标是什么,以及它的局限
一句话:重卷积谱距离="拿两段新干声分别过一遍估计 RIR 和真实 RIR,听起来的频谱有多像"。
主指标的计算流程
为什么这个领域报 T60、C50、DRR、EDC
- 任务历史:2015 年 ACE 挑战赛就是盲估 T60 与 DRR。
- ISO 3382 标准里的量,有感知含义。
- 它们对频谱包络和测量设备的频响不敏感——这是有意的设计。
- 频谱包络与说话人音色混在一起,盲条件下难以分辨。
主指标的频率加权(更正了此前的猜测)
主指标由两项组成:对数幅度 L1 按线性频点等权,0–8 kHz 的频点有一半在 4 kHz 以上;谱收敛按能量加权,而语音的能量绝大部分在 1 kHz 以下。拖动分界线看三种加权下"分界线以下"各占多少。
三条横条:线性频点的分布、本页类语音探针的能量分布、ERB(人耳频带)刻度。
重评结果(固定文本)
- 包络替换带来的主指标改善,全部来自谱收敛这一项,其中 91% 以上来自 1 kHz 以下、41%–133% 来自 250 Hz 以下;4 kHz 以上的贡献为 −36%…−2%。
- 此前"主指标高估高频"的担心不成立,它实际上偏重低频。
其他局限
- 真实 RIR 带着测量扬声器和话筒的频响,主指标会奖励复现它。
- 尚未与听感对照验证。
用途对照表
| 用途 | 主指标是否对口 |
|---|---|
| 声学匹配/渲染 | 对口 |
| 数据增广 | 部分相关 |
| 去混响/逆滤波 | 会误导:只匹配幅度、相位随机的 RIR 也能得高分,但不能用于逆滤波 |
| 房间分析、距离估计 | 应看参数指标(T60、C50、DRR、EDC) |
三种补充度量的重评(262 条输入,未独立审计)
| 度量 | 看什么 | 结果 |
|---|---|---|
| M1 梅尔频带对数距离 | 梅尔频带、只看有语音的帧 | 拆分方案比 J2 低 0.20–0.57 dB(四个测试集区间都低于零);比 Rec-RIR 低 0.24–0.60 dB(ACE 区间 [−0.52, +0.06] 碰到零) |
| M2 长时音色误差 | 1/3 倍频程、去掉整体音量 | 拆分方案与 A 相差不到 0.15 dB——它拿到的是 A 的音色 |
| M3 混响时间结构误差 | 每个频带各自归一后比较能量随时间的变化,对频谱包络不敏感(真值包络校正只让它变 0.01–0.03 dB) | Rec-RIR 优于 J2(0.26–0.50 dB)和 A(0.45–0.93 dB);拆分方案与它保留的最小二乘 RIR 相同,在三个实测测试集上优于 Rec-RIR(低 0.35–0.47 dB),在合成测试集上差 0.40 dB |
含义
- 三层的分工在这些度量下得到印证:音色(M2)来自 A,时间结构(M3)来自被替换包络的 RIR。
- J2 与 Rec-RIR 在主指标上接近,是因为 J2 音色更好、时间结构更差。
- 此前审计说"辨识出的结构对主指标没有贡献"只对主指标成立;在 M3 上它正是区分方法的部分。
11. 上界阶梯:主指标需要 RIR 的什么信息
一句话:在这个主指标下,多分辨率幅度(含 128 ms 长窗)几乎就够了,相位基本不需要。
重卷积谱距离(越短越好)。前四项使用真实 RIR 的部分信息,是参照而非可用系统;最后两项是同一 24 条开发输入上的实际系统。
要点
- 只给短窗能量包络远远不够;补上 128 ms 长窗的幅度之后,距离就掉到很低的水平。
- 这只说明"这个指标需要什么",不说明 RIR 物理上只由幅度决定。
12. 术语表
一句话:统一用法在左,旧的自造叫法只出现在最后一列。
| 统一用法 | 英文 | 白话解释 | 旧称 |
|---|