如何计算 iOS 上麦克风的 A 加权和 C 加权 dB 声级?
这是我尝试过的,但我得到的读数远低于我 iPhone 旁边的声级计:
- 使用 Novocain 库,我稍作修改,将音频会话模式设置为测量。
- 使用 Maximilian 音频库通过 FFT 运行传入的音频帧并将幅度转换为 dB。
- 使用 Maximilian 音频库的 Octave Analyzer 将 FFT 输出放入 10hz 到 20480hz 的倍频程箱中。
- 对于每个倍频程箱,我应用相关 dB 加权的 db 增益(例如,将
-70.f
db 增益应用于存储在 10hz 箱中的 db 值以获得 A 加权 dB 增益)。 - 通过将每个 dB bin 减小为幅度,将增益减小为幅度,将每个 bin 的 db 值相加,进行加法,然后再次转换回 dB 值。
这是在正确的轨道上,我有疑问吗?有人可以概述一种方法吗?建议一个图书馆和/或其他例子(我看过)。
注意——我想要近似的 dB(A) 和 dB(C) 值,这不需要科学。不确定如何补偿麦克风的频率响应,如果补偿麦克风的响应,上述技术是否正确?