修中低频沙沙: 房间混响 IR 未归一化(中低频频响 +20dB), 湿路径干湿相加使 HRTF 级 +19dB, 把归一化的 -14dBFS 顶到 +5dBFS 导致软限幅持续工作生成谐波; 给混响 convolver 加线性增益 0.126(-18dB); EQ入峰值 +5.16->-15.57 dBFS, 600Hz 谐波 -9.9->-28.9dB

This commit is contained in:
lou
2026-09-19 19:17:31 +08:00
parent 2dd51e3324
commit a81adb616b
2 changed files with 18 additions and 2 deletions
+16
View File
@@ -75,6 +75,22 @@ HRIR 峰值 **17 dB**、房间混响 IR **16.5 dB**, 都不可能推高峰
| +6 dB | 16.98 dBFS | +5.99 dB | 6.35 dBFS |
| +12 dB | 11.77 dBFS | +11.20 dB | 1.11 dBFS |
## 中低频沙沙声的根因(2026-09-19 修)
`reverb/房间混响IR-96k.wav` 是**未归一化**的原始 IR: 它的频响在 100~200 Hz 比中高频高约 20 dB
(|H| = 8.9 / 10.6, 而 8 kHz 只有 0.26)。湿路径(×0.3)因此在**中低频 +10 dB**, 与干信号相干相加后
整个 HRTF 级 **+19 dB** —— 归一化守住的 14 dBFS 被顶到 **+5 dBFS**, EQ 的软限幅于是**一直在工作**,
生成 3 次谐波与宽带失真, 听感就是**中低频沙沙**。
修法: 给房间混响的 convolver 加线性增益 `gain = 0.126`(18 dB)。
★ 坑: `convolver``gain` 是**线性倍数, 不是 dB** —— 写 `-18.0` 会变成"反相 ×18", 电平反而更高。
修后实测: EQ 入峰值 **+5.16 → 15.57 dBFS**; 600 Hz 谐波 **9.9 → 28.9 dB**; 软限幅不再触发。
残留(未修, 待定): 归一化的增益是**逐块更新**的, 块与块之间的台阶仍会产生约 −29 dB 的谐波。
要彻底消掉需要做**块间增益插值**(逐样本平滑过渡)。音乐内容下一般被掩蔽, 放纯音仔细听才察觉得到。
## 实测(2026-09-19)
| 指标 | 数据 |
+2 -2
View File
@@ -20,8 +20,8 @@ context.modules = [
{ type = builtin label = convolver name = cFRR config = { filename = "__HRIR__/FR_R.wav" } }
{ type = builtin label = mixer name = hL control = { "Gain 1" = 1.0 "Gain 2" = 1.0 } }
{ type = builtin label = mixer name = hR control = { "Gain 1" = 1.0 "Gain 2" = 1.0 } }
{ type = builtin label = convolver name = revL config = { filename = "__REVERB__" } }
{ type = builtin label = convolver name = revR config = { filename = "__REVERB__" } }
{ type = builtin label = convolver name = revL config = { filename = "__REVERB__" gain = 0.126 } }
{ type = builtin label = convolver name = revR config = { filename = "__REVERB__" gain = 0.126 } }
{ type = builtin label = mixer name = wetL control = { "Gain 1" = 1.0 "Gain 2" = __WET__ } }
{ type = builtin label = mixer name = wetR control = { "Gain 1" = 1.0 "Gain 2" = __WET__ } }
]