
热学热本与变用
WAV文件格式分析与详解
王若钩何杉
(吉林省经济信息中心吉林长券130061)
应用研究
摘要:WAV文件格式信息是对WAV文件编程的重要侬据。揭开WAV文件格式的奥是开发功能强大的具有自主知识产权的语音处理软件的关键。本文结合波形文件的基本知识,较系统地说明了WAV文件的存储原理、文件结构、WAV文件头格式、基于PCM端码的数据组织,内容全面、清楚、准确,还包含了一要新汇集的参数。可作为开发人员的参考资料。
关键调:文件格式WAV端码声音
中图分类号:TP311 1引言
文献标识码:A
文章编号:1007-9416(2014)03-0093-02
大,抗混叠滤波后,按固定的频率进行采样,每个样本是在一个采样
WAV文件是在PC机平台上很常见的,最经典的多媒体音频文件,最早于1991年8月出现在Windows3.1操作系统上,文件扩展名为WAV,是WaveFom的简写,也称为波形文件,可直接存储声音波形,还原的波形曲线十分逼真,WAV文件格式简称WAV格式是一种存储声音波形的数字音频格式,是由微软公司和IBM联合设计的,经过了多次修订,可用于Windows,Macintosh,Linix等多种
操作系统,详述如下。 2波形文件的基础知识
2.1波形文件的存储过程
声源发出的声波通过话简被转换成连续变化的电信号,经过放
表1
块标识(4Bytes) 块长度(4Bytes)数据
表2WAVE文件结构
RIFF换
文件格式类型“WAVE" fmt块
fact块(压缩编码格式要含有该块) data块
周期内检测到的电信号幅度值接下来将其由模拟电信号量化为由二进制数表示的积分值;最后编码并存储为音频流数据。有的应用为了节省存储空间,存储前,还要对采样数据先进行压缩。
2.2WAV文件的编码
编码包括了两方面内容,一是按一定格式存储数据,二是采用一定的算法压缩数据。WAV格式对音频流的编码没有硬性规定,支持非压缩的PCM(PulsCode Modulation)脉冲编码调制格式,还支持压缩型的微软自适应差分脉冲编码调制MicrosoftADPCM(AdaptiveDifferentialPulsCodeModulation)国际电报联盟(InternationalTelegraphUnion)制定的语音压缩标准ITU G.711 alaw,ITU G.711law,IMA ADPCM,ITU G.723 ADPCM (Yamaha),GSM 6.10,ITU G.721 ADPCM编码和其
表4常见的压缩编码格式
格式代码 1(0x0001)(2000X0)2 3(0x:0003) 6(0x0006) 7(0x0007) 49(0x0031)(0t000)9
65,534(0xFFFE)
表3WAVE文件头格式
偏移地址 00H 04H 08H OCH OH 14H 16H 18H ICH 20H
字节数
4 4 4 4 4 2 2
4 2
数据类型字符长整型数
字符学
长整型数整型数整型数长整型数长整型数整型数
字段名称文档标识
文件数据长度文件格式类型格式块标识格式块长度。编码格式代码。
声道个教果样锁率
数据传输速率,数据块对齐单位
字段说明
格式名称
PCM/非压缩格式 Microsoft ADPCM IEEE float
ITU G.711 alaw ITU G.711 μlaw GSM 6.10
ITU G.721 ADPCM 见子格式块中的编码格式
大写字符事"RIFF",标明该文件为有效的RIFF格式文档。
fmt块长度
16 18 18 18 18 20
40
从下一个字段首地址开始到文件末尾的总字节数。该字段的数值加8为当前文件的实际长度。
所有WAV格式的文件此处为字符串"WAVE",标明该文件是WAV格式文件。小写字符事,mt
其教值不确定,取决于编码格式。可以是16。18、20。40等。(见表2) 常见的WAV文件使用PCM脉冲编码调制格式,该数值通常为1。(见表2) 单声道为1,立体声或效声道为2
每个声道单位时间采样次数,常用的采样额率有11025,22050和44100kHz,
fact块不确定
该数值为:声道数×采样频率×每样本的数据位数/8。需效软件利用此值可以估计缓冲区的大小,
果样慎大小。该款值为:声道数×位数/8。播效软件需要一次处理多个该值大小的字节数据,用该数值调整缓冲区
221
2
整型数
采样位教
存储每个采样值所用的二进制数位数。常见的位数有4,8,12.16,24,32
24H
对基本格式块的扩充部分(详见扩展格式块,格式块的扩充)
晚格 24H 261 28H1 32H 34
长度 2 4 2 14
数据类型整型数整型长整形数
字段名称扩展区长度有效采样位数持声器位置
表5
字说明 22
最大值为每个采样字节数*
声道号与折声器仪置映射的二进制撞码
整型数
真正的编码格式代码
编码格式
x00/x00>x00/x00/x10>x00>x80>x00x00xAA>x00x38>x9B>x71
93