加权(或B或C)SPL分贝iOS

如何从iOS上的麦克风计算A加权和C加权dB声级?

这是我尝试过的,但是我得到的读数远低于我在iPhone旁边的声级计:

  • 使用Novocain库,我稍微修改了音频会话模式以将其设置为Measurement。
  • 使用Maximilian音频库通过FFT运行输入音频帧并将幅度转换为dB。
  • 使用Maximilian音频库的八度分析器将FFT输出放置在10hz至20480hz的八度音箱中。
  • 对于每个八度-70.f我应用相关dB加权的dB增益(例如,将-70.f db增益应用于存储在10hz箱中的db值以获得A加权dB增益)。
  • 通过将每个dB bin减小到一个振幅,并将增益减小到一个振幅,进行相加,再次转换回dB值,从而将每个bin的db值加在一起。
  • 这是正确的轨道,我有我的怀疑? 有人可以概述一种方法吗? 建议图书馆和/或其他例子(我看过)。

    要注意 - 我想要近似的dB(A)和dB(C)值,这并不需要科学。 不知道如何补偿麦克风的频率响应,如果上述技术能够补偿麦克风的响应,上述技术是否正确?


    我不认为你可以测量设备的物理声压级。 在第2步中,“将幅度转换为dB”。 但是,您从设备记录的幅度具​​有任意单位。 录制16位音频时,音频表示为-32768至+32767范围内的数字。 如果你正在处理浮点数据,那么这个数据将被标准化为32768,以便它具有(近似)-1到+1的范围。

    该设备的麦克风必须应对各种各样的声级。 通常,设备将具有某种形式的自动增益控制,以适应当前的平均声音水平。 这意味着如果您测量的峰值为1.0,则无法知道其对应的实际SPL。 您可以将录音转换为一系列的dB,但是这使用dB的不同定义:作为功率比。 这与SPL测量如dB(A)不相关。

    如果您可以关闭AGC并根据您的声压计校准设备,则可以产生一个近似的dB(A)测量值

    编辑:JASA已经发表了一篇文章,详细比较了现有SPL测量应用与不同代iPhone的对比统计数据:评估智能手机声音测量应用

    链接地址: http://www.djcxy.com/p/33835.html

    上一篇: weighted (or B or C) SPL decibel iOS

    下一篇: Continuous waveform audio synthesizer