您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 招标投标 > WAVE文件格式分析
WAVE文件格式分析WAVE文件作为多媒体中使用的声音波形文件格式之一,它是以RIFF(ResourceInterchangeFileFormat)格式为标准的。每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见后文。常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为八位的短整数(shortint00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAVE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。WAVE文件是由样本组织而成的。在单声道WAVE文件中,声道0代表左声道,声道1代表右声道。在多声道WAVE文件中,样本是交替出现的。WAVE文件除了前面一小段文件头对数据组织进行说明之外,Data块就是声音的原始采样数据,WAVE文件虽然可以压缩,但一般都使用不压缩的格式。44.1KHz采样率、16Bit的分辨率、双声道,所以WAVE可以保存音质要求非常高的声音文件,CD采用的也是这种格式,声音方面的专家或是音乐发烧友们应该非常熟悉。但这种文件的体积也非常大,以44.1KHz16bit双声道的数据为例,一分钟的声音数据量为:4100*2byte*2channel*60s/1024/1024=10.09M。所以不合适在网上传送。下面我们具体地分析WAVE文件的格式endianfieldnameSizebigChunkID4文件头标识,一般就是RIFF四个字母littleChunkSize4整个数据文件的大小,不包括上面ID和Size本身bigFormat4一般就是WAVE四个字母bigSubChunk1ID4格式说明块,本字段一般就是fmtlittleSubChunk1Size4本数据块的大小,不包括ID和Size字段本身littleAudioFormat2音频的格式说明littleNumChannels2声道数littleSampleRate4采样率littleByteRate4比特率,每秒所需要的字节数littleBlockAlign2数据块对齐单元littleBitsPerSample2采样时模数转换的分辨率bigSubChunk2ID4真正的声音数据块,本字段一般是datalittleSubChunk2Size4本数据块的大小,不包括ID和Size字段本身littleDataN音频的采样数据以下是对各个字段的详细解说:ChunkID4bytesASCII码表示的“RIFF”。(0x52494646)ChunkSize4bytes36+SubChunk2Size,或是4+(8+SubChunk1Size)+(8+SubChunk2Size),这是整个数据块的大小(不包括ChunkID和ChunkSize的大小)Format4bytesASCII码表示的“WAVE”。(0x57415645)SubChunk1ID新的数据块(格式信息说明块)ASCII码表示的“fmt”——最后是一个空格。(0x666d7420)SubChunk1Size4bytes本块数据的大小(对于PCM,值为16)。AudioFormat2bytesPCM=1(比如,线性采样),如果是其它值的话,则可能是一些压缩形式NumChannels2bytes1=单声道|2=双声道SampleRate4bytes采样率,如8000,44100等值ByteRate4bytes等于:SampleRate*numChannels*BitsPerSample/8BlockAlign2bytes等于:NumChannels*BitsPerSample/8BitsPerSample2bytes采样分辨率,也就是每个样本用几位来表示,一般是8bits或是16bitsSubChunk2ID4bytes新数据块,真正的声音数据ASCII码表示的“data”——最后是一个空格。(0x64617461)SubChunk2Size4bytes数据大小,即,其后跟着的采样数据的大小。DataNbytes真正的声音数据对于Data块,根据声道数和采样率的不同情况,布局如下(每列代表8bits):1.8Bit单声道:采样1采样2数据1数据22.8Bit双声道采样1采样2声道1数据1声道2数据1声道1数据2声道2数据21.16Bit单声道:采样1采样2数据1低字节数据1高字节数据1低字节数据1高字节2.16Bit双声道采样1声道1数据1低字节声道1数据1高字节声道2数据1低字节声道2数据1高字节采样2声道1数据2低字节声道1数据2高字节声道2数据2低字节声道2数据2高字节下面我们看一个具体的例子,声音文件如下:524946462408000057415645666d7420100000000100020022560000885801000400100064617461000800000000000024171ef33c133c1416f918f934e723a63cf224f211ce1a0d对应的分析如下图所示:
本文标题:WAVE文件格式分析
链接地址:https://www.777doc.com/doc-2866932 .html