如何计算音频dB级别?

时间:2010-03-15 08:05:21

标签: audio signal-processing

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

我不知道如何开始!

7 个答案:

答案 0 :(得分:64)

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

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

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

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

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

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

答案 1 :(得分: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的原因。确定这是理解另一端语音所需的最小响应。

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

答案 2 :(得分:14)

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

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

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

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

答案 3 :(得分:4)

你做不到。 dB是相对单位,IOW是用于将两个测量值相互比较的单位。您只能说测量A比测量B大x dB,但在您的情况下,您只有一个测量值。因此,根本无法计算dB水平。

答案 4 :(得分:3)

根据Merchant等人的说法。 (附录中的第3.2节:"测量声学栖息地",生态学和进化中的方法,2015),您可以使用制造商规格通过将校正项S减去您的亲属来实际计算绝对的,校准的SPL值(缩放)最大)SPL值:

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

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

如果您的系统按幅度调整幅度,则最后一项是必要的。

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

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

答案 5 :(得分:1)

我使用声级校准器。 它在1 KHz时产生94 dB或114 dB 这是一个权重的权力 过滤器共享相同的级别。 校准器为114dB,我调整麦克风增益几乎达到满量程 输入只是看一个基于声卡的虚拟振镜。 现在我知道Vref @ 114dB。 我开发了一个简单的基于软件的SPL仪表 如果需要可以提供。你也可以使用REW。 你很难知道PC硬件 达到60 dB的动态范围,从而进行校准 @ 114 dB,它的读数不会低于54dB 如果你考虑睡觉,那就太高了 是好的,低于35分贝A. 在这种情况下,您可以在94dB校准 然后你可以测量到34dB 但你会再次击中电脑和麦克风自我噪音 你可能会阻止达到如此低的水平。 无论如何,一旦校准,测量值为114dB 和94dB应该读得很好。 注意:实验室标准活塞式电话校准器的工作频率为250 Hz。

答案 6 :(得分:0)

简短的回答是:由于前面提到的所有原因,您无法使用笔记本电脑,手机等进行声级测量,而且您的手机,笔记本电脑等使用压缩算法确保一切记录在硬件能力范围内。因此,如果您测量声音然后通过Head Artemis或LMS Test.Lab等信号处理软件运行,则无论真实水平如何,指示的声压级将始终在80 dB(A)附近。我可以通过使用手机或笔记本电脑音频来了解噪声频谱,同时使用校准声级计进行电平测量。有趣的是,Radio Shack过去常常销售用于语音输入的麦克风,而视频会议在很宽的范围内具有非常平坦的频率响应,而且只需15美元。