如何计算音频dB级别?

oBl*_*ank 49 audio signal-processing

我想用电脑的麦克风计算房间的噪音水平.我将噪声记录为音频文件,但如何计算噪声dB水平?

我不知道怎么开始!

Rob*_*rtT 68

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

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

dB = 20 * log10(amplitude)
Run Code Online (Sandbox Code Playgroud)

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

amplitude = 14731 / 32767
          = 0.44

dB = 20 * log10(0.44)
   = -7.13
Run Code Online (Sandbox Code Playgroud)


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

1)正如JörgWMittag所说,dB是相对测量值.由于我们没有校准和参考,因此该测量仅与其自身相关.而且我的意思是你可以看到声音文件中此时的声音比那个点大3 dB,或者这个尖峰比背景大5分贝.但你无法知道它在现实生活中有多大声,而不是没有其他人所指的校准.

2)PaulR和user545125也提到了这一点:因为您正在根据录制的声音进行评估,所以您只测量麦克风所在的特定位置的声音,偏向麦克风指向的方向,并通过硬件的频率响应.在几英尺远的地方,人类用耳朵聆听将获得完全不同的声级和不同的频率.

3)没有经过校准的硬件,你不能说声音是60dB或89dB或其他什么.此计算可以提供的所有内容是声音文件中的峰值与同一声音文件中的其他峰值的比较.

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


小智 20

您需要参考硬件(即参考麦克风)来计算噪声级别(dB SPL或声压级).Radio Shack出售的一件事是50美元的SPL电表.如果你正在做科学计算,我就不会用它.但如果目标是在给定环境中获得声压的加权测量(dBA或dBC)的一般概念,那么它可能是有用的.作为一名音响工程师,我一直都在使用我的音量来观察我混音时产生的音量.它通常精确到2 dB以内.

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

Jorg是正确的,dB SPL是相对测量.所有分贝测量都是.但是你已经暗示了0 dB SPL或20微声卡的参考,在科学上同意是人耳可以检测到的最安静的声音(尽管可以理解,一个人实际听到的声音很难确定).根据维基百科的说法,这是关于大约10英尺外的飞蚊虫的声音(http://en.wikipedia.org/wiki/Decibel).

通过假设你不明白分贝,我认为Jorg只是试图超越你.他显然没有给你一个实际的答案.:-)

很少使用未加权的测量值(dB,而不是dB​​A或dBC),因为人耳没有检测到大多数声压.在给定的办公环境中,通常存在80-100dB SPL(声压级).为了让您了解究竟有多少未被听到,在美国,职业规定将噪音暴露限制在80 dBA(对于给定的8小时工作班次)(80 dBA约为您平均市区街道的背景噪音水平 - 很难,但并非不可能谈论).85 dBA是压迫性的,90岁时,大多数人都试图逃脱.因此,80 dB和80 dBA之间的差异非常显着 - 80 dBA难以通话,80 dB非常安静.:-)

那么什么是'A'加权?'A'加权补偿了我们不感知低频声音和高频声音(我们听到20 Hz到20,000 Hz)的事实.有很多低端的隆隆声,我们的耳朵/大脑几乎无视.此外,我们对某个中频(1000 Hz到4000 Hz)更敏感.大多数人认为这个频率范围包含语音辅音(元音发生频率低得多).想象一下只用元音说话.你无法理解任何事情.因此,人类能够进行通信(传统上)的能力取决于听觉灵敏度的1kHz-5kHz.有趣的是,这就是大多数电话系统仅传输300 Hz至3000 Hz的原因.确定这是理解另一端语音所需的最小响应.

但我认为这比你想知道的要多.希望能帮助到你.:-)


Pau*_*l R 14

您无法轻松测量绝对dB SPL,因为您的麦克风和模拟硬件未经过校准.您可以对特定硬件设置进行近似校准,但是您需要为计划支持的每个不同麦克风和硬件设置重复此操作.

如果您确实有某种可以使用的SPL参考源,那么它会变得更容易:

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

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


kda*_*ras 7

根据商人等人的说法。(附录中的第 3.2 节:“测量声学栖息地”,生态学与进化方法,2015 年),您实际上可以使用制造商规范计算绝对的校准 SPL 值,方法是用相对(缩放至最大)SPL 值减去校正项 S :

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

其中 M 是传感器(麦克风)的灵敏度,即 1 V/Pa。G 是用户应用的增益。Vadc 是零到峰值电压,由 ADC 电压均方根值乘以转换系数平方根 (2) 得出。Nbit 是位采样深度。

如果您的系统按其最大值缩放幅度,则最后一项是必要的。

使用声音校准器进行端到端校准,校正将更加准确。

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