Loudness Bit-depth & More

关于数字音频的制式以及相应的响度关系的探讨。

一、表头

常见的表头有三种:

  • PPM (Peak Program Meter) 或者True Peak表:比较实时的反映声音的瞬态值,即直接反映采样的量化数值。
  • RMS表及VU表:RMS表的读数是对窗口内采样求均方根后的平均值,常见的窗口大小是50ms - 400ms;VU表的磁针受惯性影响不可能发生瞬移,因此反映的是平均后的电平数值。在模拟领域它虽然是个有着悠久传统的表头,但在数字领域更多是用在模拟硬件的效果器UI展示中,其算法更接近RMS表,固归为一类。
  • 响度表:比较通用的算法是LKFS和LUFS,两者唯一的区别是LUFS多增加了一个Peak Level的概念。Wwise的Loudness Meter用的是EBU的LUFS。

二、响度感知及LKFS算法

响度感知是心理声学的研究范畴,其影响因素众多。频率、波形包络、动态变化、声场、混响、听音者的年龄、心情状态等都会影响最终的感知。

频率感知

单一频率等响曲线: equal loudness curves

人耳对于4k左右的频段是最为敏感的,而在100Hz以下则快速衰减。

瞬态感知

响度感知受音频的瞬态影响。由于人体构造,从声音发出,被耳蜗听觉神经接收并传到脑干,Localization定位,到建立响度感知的总延迟在400ms左右。因此对于响度的测量和分析往往都需要持续最少400ms,低于这个值的分析意义不大。这也可以解释为什么很多RMS窗口,ITU-R,EBU的算法都以400ms做为默认配置。

声场影响

声场、空间感会影响人耳对响度的感知。一个典型的例子就是在Wwise中对Stereo素材做Conversion到Mono后,即便电平上相差不大,听感上响度都会有所下降。同样的素材,加入混响后响度会提高。

听者状态

听音者的心态,健康状况,听觉疲劳状况,背景噪声等因素都会影响响度感知,具体情况可以参考心理声学相关专题。

LKFS算法一探究竟

LKFS算法是广电游戏等领域广泛使用的响度评估算法。根据ITU-R BS.1770-4 建议书中的算法,大致分析一下这套标准到底都考虑了上述哪些影响因素。 整体结构如下:

BS.1770 structure

可以看到这个Demo是5.0声道的例子。每个声道的采样,先通过K-滤波器 —— 一个二级FIR滤波电路;然后做均方处理,窗口为400ms,混叠为75%;然后对所有声道做带权叠加,再取对数得到响度值。

1) 频率加权滤波电路的第一级是2kHz左右的4dB的搁架提升,补偿等响曲线中人耳对4k左右高频的敏感度;第二级为70Hz左右的低切,削弱低频信号的权重。这两级滤波可以看成是对等响曲线的比较粗略的近似。

BS.1770 filter

2) 均方根的计算,以400ms为窗口进行积分

\[z_i=\frac{1}{T}\int^T_0y^2_idt\]

3) 通道加权如下表,可以看到对环绕的加权较高,为啥?

通道 加权,Gi
左边(GL) 1.0 (0 dB)
右边 (GR) 1.0 (0 dB)
中间 (GC) 1.0 (0 dB)
左边环绕 (GLs) 1.41 (~ +1.5 dB)
右边环绕 (GRs) 1.41 (~ +1.5 dB)

4) 最终的响度值为:

\[L_K=–0.691+10 log_{10}\sum_iG_i·z_i\]

这个算法大致兼顾了响度感知中频响、瞬态和声场的影响因素。但是有诸多问题。频率部分:对于4kHz以上的高频估测值大于等响曲线给出的数值,对于100-2kHz的频段,估值同样是粗略不准确的。考虑到整体的补偿,可以理解为对于全幅的响度感知是接近真实值的,而对于局部频段是不准确的,不适用于频段较为集中的声音。瞬态部分:采用了400ms的窗口和75%的混叠,因此算法不适用于单个音效的响度判断,而是适合长时间的整体响度评价。

综上,LKFS可以用来评价音乐、游戏制品、广播电视的整体响度情况,不适合用来评价较短素材和非全频段的素材响度。

三、不同比特深度的响度对应关系

经常在网上看到这么几张图,以及这样的解释:模拟的VU表的0dB对应数字24bit采样的-18dB,云云。

BS.1770 reference level 1

BS.1770 reference level 2

BS.1770 reference level 3

完全没有这回事好吧。。

也许在模拟领域上存在映射关系,在数字上,没有说24bit的0dB响度要比16bit的高6dB的说法,都是一样响的。数字的0dB只是你的声卡按当前的总线推子设定输出最大电平的相对值,不管你的比特深度是多少,都是一样响的。哪怕是32bit浮点,过了0dB,该爆音的一样爆音。而且前面已经论述了,VU表的数值和数字采样的比特量化数值没有对应关系,根本就没有可比性。