我如何计算audiodB水平?

我想用电脑的麦克风来计算房间的噪音水平。 我将噪音logging为audio文件,但是如何计算噪音dB等级?

我不知道如何开始!

所有以前的答案是正确的,如果你想要一个技术上准确或科学价值的答案。 但是,如果您只是想对比较响度进行一般估计,比如要检查狗是否在叫,或者是否有婴儿在哭,并且想要以dB为单位指定阈值,则这是一个相对简单的计算。

许多波形文件编辑器都有一个以分贝为单位的垂直刻度。 没有校准或参考测量,只是一个简单的计算:

dB = 20 * log10(amplitude) 

在这种情况下的幅度被表示为0和1之间的数字,其中1表示声音文件中的最大幅度。 例如,如果你有一个16位的声音文件,幅度可以高达32767.所以你只是把样本除以32767.(我们使用绝对值,只有正数)。所以如果你有一个波峰值在14731,那么:

 amplitude = 14731 / 32767 = 0.44 dB = 20 * log10(0.44) = -7.13 

但有一些非常重要的事情要考虑,特别是其他人给出的答案。

1)正如JörgW Mittag所说,dB是一个相对测量。 由于我们没有校准和参考,所以这个测量只是相对于它自己。 我的意思是说,你可以看到声音文件中的声音比此时大3dB,或者说这个尖峰比背景大5分贝。 但是你不能知道现实生活中有多大声,而不是没有其他人所说的校准。

2)PaulR和user545125也提到过这个问题:因为你根据录制的声音进行评估,所以你只能测量麦克风指向的特定位置的声音,偏向麦克风指向的方向,您的硬件的频率响应。 在几英尺远的地方,用人耳听的人会得到完全不同的声级和不同的频率。

3)没有校准的硬件,你不能说声音是60分贝或89分贝或者其他什么。 所有这些计算可以给你的是声音文件中的峰值如何与同一个声音文件中的其他峰值进行比较。

如果这是你想要的,那就没问题,但是如果你想要做一些严肃的事情,比如确定一个工厂的噪音水平是否对工人是安全的,那么听Paul,user545125和Jörg。

您需要参考硬件(即参考麦克风)来计算噪音级别(dB SPL或声压级别)。 Radio Shack卖的一件东西是一个价值50美分的声压级表。 如果你正在做科学计算,我不会使用它。 但是如果目标是获得给定环境中声压的加权测量(dBA或dBC)的总体思路,那么它可能是有用的。 作为一名音响工程师,我一直使用我的音箱来观察我在混音时产生的音量。 通常精确到2分贝以内。

这是我的答案。 其余的是FYI的东西。

Jorg是正确的,dB SPL是一个相对测量。 所有的分贝测量值都是。 但是你已经暗示了一个0 dB SPL,或者20微米的参考,科学地被认为是人类耳朵可以检测到的最安静的声音(尽pipe可以理解,一个人实际听到的声音是非常难以确定的)。 根据维基百科,这是关于从大约10英尺外飞蚊子的声音( http://en.wikipedia.org/wiki/Decibel )。

通过假设你不了解分贝,我认为乔格只是试图超越你。 他显然没有给你一个实际的答案。 🙂

未加权的测量(dB,而不是dB​​A或dBC)很less使用,因为大多数声压不被人耳检测到。 在给定的办公室环境中,通常有80-100dB SPL(声压级)。 在美国,职业规定限制噪音暴露在80分贝的情况下,给定一个8小时的工作class次(80分贝是大约平均市中心街道的背景噪音水平 – 难度,但不是不可能谈论)。 85 dBA是压迫性的,到了90时,大多数人都想逃避。 所以80分贝和80分贝之间的差异是非常显着的–80分贝很难说,80分贝是相当和平的。 🙂

那么什么是“A”加权? “A”权重补偿了我们不会感觉到低频声音以及高频声音(我们听到20 Hz到20,000 Hz)的事实。 我们的耳朵/大脑几乎忽视了很多低端的隆隆声。 另外,我们对某个中频(1000Hz到4000Hz)更敏感。 大多数人都同意,这个频率范围包含语音的辅音(元音发生在一个更低的频率)。 想象一下,只与元音交谈。 你什么都不懂 因此,一个人能够沟通的能力(传统上)是在听力灵敏度的1kHz-5kHz的波动范围内。 有趣的是,这就是为什么大多数电话系统只传输300赫兹到3000赫兹。 确定这是理解另一端声音所需的最小反应。

但我认为这比你想知道的要多。 希望能帮助到你。 🙂

由于麦克风和模拟硬件未经过校准,因此无法轻松测量绝对dB SPL。 您可能能够对特定的硬件设置进行大致的校准,但是您需要针对计划支持的每个不同的麦克风和硬件重复此操作。

如果你有一些你可以使用的SPL参考源,那么它就变得更简单了:

  • 使用您的参考源以已知的dB SPL产生一个音调 – 测量它
  • 测量环境噪音
  • 计算噪声电平= 20 * log10 (V_noise / V_ref) + dB_ref

当然,这假设你的麦克风和audio硬件的频率响应是相当平坦的,而你只是想要一个平坦的(不加权的)噪声系数。 如果你想要一个加权(例如A重量)噪声系数,那么你将不得不做更多的处理。

你不能。 dB是一个相对单位,IOW是将两次测量相互比较的单位。 你只能说测量值A比测量值B要大x dB,但是在你的情况下只有一个测量值。 因此,计算dB级别是不可能的。

根据商人等人。 (附录“测量声学栖息地”第3.2节“生态学和演化方法”,2015年),您可以使用制造商的技术指标,通过从您的相对(最大值)SPL值中减去校正项S,实际计算绝对值,校准SPL值:

S = M + G + 20 * log10(1 / Vadc)+20 * log10(2 ^ Nbit-1)

其中M是传感器(麦克风)的灵敏度,1 V / Pa。 G是用户应用的增益。 Vadc是零至峰值电压,通过将均方根ADC电压乘以平方根(2)的转换因子给出。 Nbit是位采样深度。

如果您的系统将幅度最大化,则最后一项是必要的。

使用声校准器进行端对端校准,校正将会更加精确。

请注意,上述公式取决于频率,但如果麦克风的频率响应平坦,则可以将其应用于更宽的频率范围。

我使用一个声级校准器。 它在1KHz时产生94dB或114dB,这是加权滤波器共享相同电平的频率。 使用114dB的校准器,我可以调整麦克风增益,以达到几乎满量程的input,只需观看基于声卡的虚拟振荡器即可。 现在我知道Vref @ 114dB。 我开发了一个简单的基于软件的声压级表,可以根据需要提供。 你也可以使用REW。 你必须知道,PC硬件几乎不能达到60分贝的dynamic范围,所以114dB的校准不会低于54dB,如果考虑到低于35分贝A的睡眠好,这个数字是相当高的。在这种情况下,你可以校准在94分贝,然后你可以测量到34分贝,但你会再次击中电脑和麦克风自己的噪音,你可以防止达到如此之低的水平。 无论如何,一旦校准,在114分贝和94分贝的措施应该罚款。