音频DB概念
2022-11-14
1062
0
DB
音频文件数据的垂直标度为分贝。如果没有校准或参考测量,其计算公式为:
dB = 20 * log10(amplitude)
这时幅值这义为(0,1]之间的值,那么其结果为(-∞,0],其中为1时表示最大振幅。
但是我们一般的数据采样用的是AD采样,故AD会有一个最大采样值,最小值当然就是0了。如果是16位AD,那么最小值为0,最大值为65535即0xffff。但是由于振内振是上下振的,故中点为32767,故区间范围为-32768到32767之间。因此为了标识我们的数值,需要进行归一化处理。
如我们的采样值为14731,那么:
amplitude = 14731 / 32767
= 0.44
dB = 20 * log10(0.44)
= -7.130946
另外,我们可以通过分贝的公式可以看出,当为+6DB时,表示的是对原声放大2倍。这是因为:
6db 约等于 20 * log10(2) = 20 * 0.30102999566398119521373889472449 = 6.0205999132796239042747778944899
常见的DB值:
- -80dB=减少至1/10000倍
- -60dB=减少至1/1000倍
- -40db=减少至1/100倍
- -20db=减少至1/10倍
- -6db=减少至1/2倍
- 0db = 原声不变
- +6dB=增大至2倍
- +20dB=增大至10倍
- +40dB=增大至100倍
- +60dB=增大至1000倍
- +80dB=增大至10000倍
可以看到,对于声压来说每20dB就是10倍的关系,我们可以通过记住这些值来忘掉计算公式。不过如果你实现不会的话,也可以用电脑自带的计算器来计算,当然你数学好,也可以自己心算。
另外,其实DB概念的引入其实就是为了引入倍数关系,因为这些十进值的最大和最小值已经不方便了。所以只能说是原来的多少次方,所以就引入了一个专门的概念,DB.
再另外,我们常用的PCM如16位数据,其使用的是short类型,其取值为-32768~32767之间,这时如果取值超过50db的,基本上都会破音。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936