1.脉冲编码调制PCM文件格式简介
将音频数字化,其实就是将声音数字化。最常见的方式是透过脉冲编码调制PCM(Pulse Code Modulation) 。运作原理如下。首先我们考虑声音经过麦克风,转换成一连串电压变化的信号,如图一所示。这张图的横座标为秒,纵座标为电压大小。要将这样的信号转为 PCM 格式的方法,是使用三个参数来表示声音,它们是:声道数、采样位数和采样频率。
采样频率:即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。在16位声卡中有22KHz、44KHz等几级,其中,22KHz相当于普通FM广播的音质,44KHz已相当于CD音质了,目前的常用采样频率都不超过48KHz。
采样位数:即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。
声道数很好理解,有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的pcm可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果。
下面再用图解来看看采样位数和采样频率的概念。让我们来看看这几幅图。图中的黑色曲线表示的是pcm文件录制的自然界的声波,红色曲线表示的是pcm文件输出的声波,横坐标便是采样频率;纵坐标便是采样位数。这几幅图中的格子从左到右,逐渐加密,先是加大横坐标的密度,然后加大纵坐标的密度。显然,当横坐标的单位越小即两个采样时刻的间隔越小,则越有利于保持原始声音的真实情况,换句话说,采样的频率越大则音质越有保证;同理,当纵坐标的单位越小则越有利于音质的提高,即采样的位数越大越好。
在计算机中采样位数一般有8位和16位之分,但有一点请大家注意,8位不是说把纵坐标分成8份,而是分成2的8次方即256份; 同理16位是把纵坐标分成2的16次方65536份; 而采样频率一般有11025HZ(11KHz),22050HZ(22KHz)、44100Hz(44KHz)三种。


样点
|
t1
|
t2
|
t3
|
t4
|
t5
|
t6
|
t7
|
...
|
t16
|
t17
|
t18
|
t19
|
t20
|
幅值
|
0011
|
0101
|
0111
|
1001
|
1011
|
1101
|
1110
|
...
|
0110
|
0110
|
0101
|
0011
|
0000
|
那么,现在我们就可以得到pcm文件所占容量的公式:
存储量=(采样频率*采样位数*声道)*时间/8(单位:字节数)
例如,数字激光唱盘(CD-DA,红皮书标准)的标准采样频率为44.lkHz,采样数位为16位,立体声(2声道),可以几乎无失真地播出频率高达22kHz的声音,这也是人类所能听到的最高频率声音。激光唱盘一分钟音乐需要的存储量为:
(44.1*1000*l6*2)*60/8=10,584,000(字节)=10.584MBytes
这个数值就是pcm声音文件在硬盘中所占磁盘空间的存储量。
计算机音频文件的格式决定了其声音的品质,日常生活中电话、收音机等均为模拟音频信号,即不存在采样频率和采样位数的概念,我们可以这样比较一下:
44KHz,16BIT的声音称作:CD音质;
22KHz、16Bit的声音效果近似于立体声(FM Stereo)广播,称作:广播音质;
11kHz、8Bit的声音,称作:电话音质。
微软的WAV文件就是pcm编码的一种。
2.数字音频基础知识 6. 音频编码方法
麦克风录音的过程其实就是将模拟信号转化成数字信号的过程,其中涉及的一些概念如下:
1.采样率(Sampling Rate)
采样率指声卡在一秒之中对声音(波形)作记录的次数,根据研究声音播出时的质量常常只能达到采样率的一半,因此必须采取双倍的采样率才能将声音标准重现.也就是只要采样率大于原始信号频率的两倍以上即可减低错误,达到和原始声音差不多的质量.人的听力大概是20KHZ,所以高品质的采样率应为其两倍以上.
当声音来源为音乐时,因为它所横跨的频率变化极为宽广,通常以44.1KHZ的频率为CD音乐采样率的标准.但是若以语言为主由于人说话的语音大概是10KHZ,因此加倍采样,只取22KHZ即可,采样率越高所记录下来的音质就越清晰,当然,越高的采样所记录下的文件就越大.
2.采样位
解析度决定了采样的音波是否能保持原来的形状,越接近原型则需解析度越高,若以8位来采样的话其能表达的组合种类是2的8次方,即256,表示用8位的采样大小能分辨出256个层次的声音,若用16位来采样,则能分辨的差异将高达2的16次方,为65536,其精度自然大为提高.16位,8位采样的差别在于动态范围的宽窄,动态范围宽广,音量起伏的大小变化就能够更精细的被记录下来,如此一来不论是细微的声音或是强烈的动感震撼,都可以表现的淋漓尽致,而CD音质的采样规格正式16位采样的规格.
3. 量化误差(Quantization error)
在采样的过程中,不断连续变化的模拟信号要用数字化的数值来表示,这样的过程就会发生所谓的量化误差(Quantization error).所谓的量化误差指的是实际的信号的振幅(smplitude)和数字化之后所的数字之间的差异.如果用将数字信号还原成模拟信号的角度看,量化误差就是失真(Distortion).我们可以用增加采样大小的方式来降低量化误差,也就是更多的位(bits)来表示一个采样信号,这样可以提高精度.
4. 量化(Quantization), 线性量化法(Linear quantization)和非线性量化法(Nonlinear quantization)
所谓的量化(Quantization)就是将模拟信号所代表的连续范围分成一段一段的区间(Interval),每一段区间我们定义一个数字化的值.区间的数目是跟采样大小有关,举例来说,有一种最简单的量化法称为”线性量化法”(Linear quantization),这种量化法采用等距离的间隔空间,架设一个讯号它的最大值是5.0,采样大小为3位,则每个量化区间就时5.0/2^3,也就是0.625单位.另外一种相反的量化方法就是”非线性量化法”(Nonlinear quantization),这种量化法采用不同的间隔空间.以”对数量化法”(Logarithm quantization)为例.低振幅范围的量化区间就比高振幅的范围的区间较为接近,用这种量化的法产生的结果就是在低振幅时我们会得到佳好的效果.通常如果使用同样的采样大小,非线性量化法会比线性量化法得到更好的声音品质.但是如果是要对声音做滤波(filtered)或一些运算的时候,使用线性量化法会比较容易处理.
5. 声音强度
波形振幅的平方.两个声音强度上的差常以分贝(db)为单位来度量,计算公式如下:
20*log(A1/A2)分贝,A1,A2为两个声音的振幅.
a.如果采样大小为8位,则采样的动态范围为20*log(256)分贝=48db;
b.如果样本大小为16位,则采样动态范围为20*log(65536)大约是96分贝,接近了人听觉极限和痛苦极限,是再线音乐的理想范围,windows同时支持8位和16位的采样大小.
目前已经发展了许多音频编码的方法用以减少存储量或是传输的时间,以下所列为两种较普遍的编码方法:
a.PCM(Pulse code modulation);
脉冲编码调制,即对波形按照固定周期频率采样。为了保证采样后数据质量,采样频率必须是样本声音最高频率的两倍,这就是Nyquist频率.
b.ADPCM(Adaptive delta pulse modulation).