1.2 数字音频
1.1节主要介绍了声音的物理现象以及声音中常见的概念,也为后续的讲解统一了术语,从本节开始,我们将进入数字音频概念的介绍。
为了将模拟信号数字化,本节将分3个概念对数字音频进行讲解,分别是采样、量化和编码。首先要对模拟信号进行采样,所谓采样就是在时间轴上对信号进行数字化。根据奈奎斯特定理(也称为采样定理),按比声音最高频率高2倍以上的频率对声音进行采样(也称为AD转换),1.1节中提到过,对于高质量的音频信号,其频率范围(人耳能够听到的频率范围)是20Hz~20kHz,所以采样频率一般为44.1kHz,这样就可以保证采样声音达到20kHz也能被数字化,从而使得经过数字化处理之后,人耳听到的声音质量不会被降低。而所谓的44.1kHz就是代表1秒会采样44100次(如图1-5所示)。
图1-5
那么,具体的每个采样又该如何表示呢?这就涉及将要讲解的第二个概念:量化。量化是指在幅度轴上对信号进行数字化,比如用16比特的二进制信号来表示声音的一个采样,而16比特(一个short)所表示的范围是[-32768,32767],共有65536个可能取值,因此最终模拟的音频信号在幅度上也分为了65536层(如图1-6所示)。
图1-6
既然每一个量化都是一个采样,那么这么多的采样该如何进行存储呢?这就涉及将要讲解的第三个概念:编码。所谓编码,就是按照一定的格式记录采样和量化后的数字数据,比如顺序存储或压缩存储,等等。
这里面涉及了很多种格式,通常所说的音频的裸数据格式就是脉冲编码调制(Pulse Code Modulation, PCM)数据。描述一段PCM数据一般需要以下几个概念:量化格式(sampleFormat)、采样率(sampleRate)、声道数(channel)。以CD的音质为例:量化格式(有的地方描述为位深度)为16比特(2字节),采样率为44100,声道数为2,这些信息就描述了CD的音质。而对于声音格式,还有一个概念用来描述它的大小,称为数据比特率,即1秒时间内的比特数目,它用于衡量音频数据单位时间内的容量大小。而对于CD音质的数据,比特率为多少呢?计算如下:
44100 * 16 * 2 = 1378.125kbps
那么在1分钟里,这类CD音质的数据需要占据多大的存储空间呢?计算如下:
1378.125 * 60 / 8 / 1024 = 10.09MB
当然,如果sampleFormat更加精确(比如用4字节来描述一个采样),或者sampleRate更加密集(比如48kHz的采样率),那么所占的存储空间就会更大,同时能够描述的声音细节就会越精确。存储的这段二进制数据即表示将模拟信号转换为数字信号了,以后就可以对这段二进制数据进行存储、播放、复制,或者进行其他任何操作。
麦克风是如何采集声音的
麦克风里面有一层碳膜,非常薄而且十分敏感。1.1节中介绍过,声音其实是一种纵波,会压缩空气也会压缩这层碳膜,碳膜在受到挤压时也会发出振动,在碳膜的下方就是一个电极,碳膜在振动的时候会接触电极,接触时间的长短和频率与声波的振动幅度和频率有关,这样就完成了声音信号到电信号的转换。之后再经过放大电路处理,就可以实施后面的采样量化处理了。
前面提到过分贝,那么什么是分贝呢?分贝是用来表示声音强度的单位。日常生活中听到的声音,若以声压值来表示,由于其变化范围非常大,可以达到六个数量级以上,同时由于我们的耳朵对声音信号强弱刺激的反应不是线性的(1.1节中提到过等响曲线),而是呈对数比例关系,所以引入分贝的概念来表达声学量值。所谓分贝是指两个相同的物理量(例如,A1和A0)之比取以10为底的对数并乘以10(或20),即:
N= 10 * lg(A1 / A0)
分贝符号为“dB”,它是无量纲的。式中A0是基准量(或参考量), A1是被量度量。