90dBspl 是声域中的 rms 值。在 16 位系统中 2500 rms 的数字电平与大约 -22dB FS rms 相同(实际上是 -22.35),其中 0dBFS rms 是满量程方波。在这样的系统中,满量程正弦曲线为 0dBFS 峰值和 -3dB FS rms(从 -32768 到 +32767)。
+/-2500 的方波可以计算为:
20 * log (2500/32767) = -22.35 dB FS rms
请注意,正弦波的峰值总是比 rms 电平高 3dB。唯一具有相同 rms 和峰值电平的信号是方波。
现在,Android 对 90dBspl 左右的线性度有 30dB 的要求,但这个线性度在 90dBspl 以上 +12dB,在同一点以下 -18dB。在此范围之外,可能会以不同的方式进行压缩,具体取决于您测试的手机型号。
Android 手机内保证的最高线性电平为 -22dBFS +12dB = -10dBFS rms。高于这个水平是不确定的。最常见的情况是,最后 7dB 的峰值余量仍然是线性的,导致 90dBspl + (22-3 dB) = 109dB spl rms 的声学最大电平,对于没有削波的正弦(或 112dB spl 峰值)。
在某些手机中,您会发现峰值限制器可将增益降低到 102dBspl rms 以上。这样做的结果是您仍然可以录制到麦克风的饱和度。这个饱和度会有所不同,但在 120dB spl 时通常会出现 2% 的失真。在此级别之上,麦克风组件开始饱和并削波。
看看天平的另一端:
小型电话麦克风通常很吵。最新的麦克风可以在低于 0dBPa (94dBspl) 时具有 -63dB 的本底噪声,但大多数麦克风在低于 0dBPa 的 -58 到 -60dB 之间。
这如何计算到 dBFS rms ?
0dBPa rms 是 94dB spl rms。从上面的陈述我们知道,90dBspl rms 声级将在 Android 手机中以 -22dBFS rms 的数字电平记录。-63dB 低于 90dBspl 与 -22dBFSrms +4dB -63dB = -81dBFSrms 相同。16 位系统中动态的绝对最大范围可以近似为 96dB(或 93dB,取决于您如何看待它),因此噪声水平至少比数字文件中的量化噪声高 12dB。
这是视频录制模式的一个非常重要的发现。不幸的是,Android 中的许多视频应用程序在录制时往往具有过高的麦克风增益。这会导致在录制响亮的音乐会和类似情况时出现削波。我们也知道麦克风本身的性能至少可以达到 120dB。因此,对于任何音频系统工程师来说,制作一个实际使用麦克风整个动态范围的视频录制模式都是一个好主意。这意味着应将增益设置为至少低 8dB。如果声音太软,则始终可以在视频录制之后更改 rms 电平,但如果声音被削波,那么您将永远损坏录音。
所以,我给你们程序员的信息是实现一种视频录制模式,其中 90dB spl rms 的声级记录在 -30dBFSrms 或略低于该值。之后可以进行任何最大化。通过这种方式,我们可以录制具有更好声音的摇滚音乐会。做自动增益控制对音质没有帮助。动态范围通常太大而无法自动控制。你会得到很多的声音。最好实现两种不同的视频录制模式:音乐会模式和演讲模式。在语音模式下(针对 1m 距离的说话人进行了优化),对于 90dBspl,录音增益甚至可能高于 -22dBFSrms。我会说 90dBspl 的 -12dBFS rms 是一个合适的录音电平。(1m 距离处的语音的 rms 电平约为 57dB spl,峰值高 20-30dB)。
Björn Gröhn 瑞典隆德索尼移动音频系统工程师