|
Windows环境下的麦克风录音系统(2) 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位的采样大小. 6. 音频编码方法 目前已经发展了许多音频编码的方法用以减少存储量或是传输的时间,以下所列为两种较普遍的编码方法: a.PCM(Pulse code modulation); 脉冲编码调制,即对波形按照固定周期频率采样。为了保证采样后数据质量,采样频率必须是样本声音最高频率的两倍,这就是Nyquist频率. b.ADPCM(Adaptive delta pulse modulation). 3.RIFF文件结构和WAVE文件格式 Windows支持两种RIFF(Resource Interchange File Format,"资源交互文件格式")格式的音频文件:MIDI的RMID文件和波形音频文件格式WAVE文件,其中在计算机领域最常用的数字化声音文件格式是后者,它是微软专门为Windows系统定义的波形文件格式(Waveform Audio),由于其扩展名为"*.wav",因而该类文件也被称为WAVE文件。为了突出重点,有的放矢,本文涉及到的声音文件所指的就是WAVE文件。常见的WAVE语音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。这里的采样率是指声音信号在进行"模→数"转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAVE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在进行声音编程处理以前,首先让我们来了解一下RIFF文件和WAVE文件格式。 RIFF文件结构可以看作是树状结构,其基本构成是称为"块"(Chunk)的单元,每个块有"标志符"、"数据大小"及"数据"所组成,块的结构如图2所示: 图2
从上图可以看出,其中"标志符"为4个字符所组成的代码,如"RIFF","LIST"等,指定块的标志ID;数据大小用来指定块的数据域大小,它的尺寸也为4个字符;数据用来描述具体的声音信号,它可以由若干个子块构成,一般情况下块与块是平行的,不能相互嵌套,但是有两种类型的块可以嵌套子块,他们是"RIFF"或"LIST"标志的块,其中RIFF块的级别最高,它可以包括LIST块。另外,RIFF块和LIST块与其他块不同,RIFF块的数据总是以一个指定文件中数据存储格式的四个字符码(称为格式类型)开始,如WAVE文件有一个"WAVE"的格式类型。LIST块的数据总是以一个指定列表内容的4个字符码(称为列表类型)开始,例如扩展名为".AVI"的视频文件就有一个"strl"的列表类型。RIFF和LIST的块结构如下:
|