2.2.2 音频的编码
音频数据存储格式有多种,未经压缩的信息源码格式数据量巨大,传输和存储成本高,而编码技术是在保听觉的基础上,对时域及频域的冗余信息进行压缩。
音频内容整体上可分为三个层次:物理样本层、声学特征层、语义层。它们的等级依次升高。1、物理样本层中音频内容表现为媒体流,主要包括注册数据和原始音频数据。注册数据主要有采样率、量化比特、编码方法等。2、声学特征层是从物理样本层抽取音频特征得到的,主要有音调、响度、音色、基频、幅度等。3、语义层是对音频内容、音频对象的概念描述。常用的音频编码格式:PCM编码(pulse code modulation),WAV,MP3,MP3PRO,RealMedia,MIDI,OggVorbis,VQF,Mod,Monkey's Audio,AIFF等。
(1) PCM编码:脉冲编码调制是将模拟信号经采样、量化及编码的过程。它只是保存数据本身,没有任何格式信息,因此要想使用这种数据格式必须有采样率、量化位数及单双声道等信息。音质好是PCM编码最大的优点,由于体积大、无格式信息,这也使得PCM编码的应用得到了许多限制。
(2) WAV:WAV是Microsoft Windows本身提供的一种符合RIFF的音频格式,这种格式已经成为通用的音频格式,如CoolEditPro、Wavelab、Matlab等软件都支持WAV格式。WAV本身与任何媒体数据都不冲突,可以存放20种压缩格式,如ADPCM、G.711以及MP3等格式,它可以充当不同编码之间相互转换的一种中介格式。WAV文件可用来显示原始声音的波形、频谱显示、音频信号识别。
RIFF是一种树状结构,其基本单位是chunk,每个chunk由辨别码、数据长度及数据组成。辨别码由4个ASCII码组成,数据长度项占用4个字节,标出紧跟其后的数据长度,chunk的 长度为数据长度加上8个字节。一般来说chunk本身不允许再包含chunk,除非辨别码为RIFF和LIST。WAV的辨别码为WAVE,一个WAV文件由两个chunk组成:辨别码fmt及data。fmt的chunk包含了一个PCMWAVEFORMAT数据结构定义如下:
Typedef struct pcm waveformat-tag
{
WAVEFORMAT wf;
Word wBitsPerSample;
} PCMWAVEFORMAT
Typedef struct waveformat-tag
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesperSec;
WORD nBlockAlign;} WAVEFORMAT
(3) MIDI:MIDI是乐器和计算机使用的标准语言,是一套指令,它指示乐器即MIDI设备要做什么,如何做,如演奏音符、加大音量、生成音响效果。MIDI除了乐谱外,还记录了每个音符的弹奏方法,它保存了音符、乐器等详细的内容意义,数据量小,便于传输和保存,也便于检索使用。MIDI是器乐信号,在传送时是传递的动作指令,而不是声音信号,所传递的信号用于乐器的执行。它告诉声卡在什么时间、什么位置、什么强度下发一个什么音,是否颤音,是否力度变化等。
图2.1 一段语音波形图
2.3 本章小结
本章对关于旋律检索的相关音乐和音频的基础知识做了简要地介绍。从物理和音乐两方面对声学作了介绍,并对几种音频格式作了说明为后面的工作做了铺垫。 基于旋律的音乐检索系统设计与实现(4):http://www.youerw.com/tongxin/lunwen_2379.html