2024年4月19日发(作者:)

WAV(Waveform audio format)是微软与IBM公司所开发的一种声音编码格式,它符合

RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资

源,被Windows平台及其应用程序所广泛支持,也是其音乐发烧友中常用的指定规格之一。

由于此音频格式未经过压缩,所以在音质方面不会出现失真的情况,但档案的体积因而在众

多音频格式中较为大。该格式支持多种音频数字,取样频率和声道,标准格式化的WAV文件

和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差

无几! WAV打开工具是WINDOWS的媒体播放器。每个WAVE文件的头四个字节便是“RIFF”。

WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声

音数据格式说明段两部分。WAVE文件各部分内容及格式见下表。

文件头

偏移地址

00H~03H

04H~07H

08H~0BH

0CH~0FH

10H~13H

14H~15H

16H~17H

18H~1BH

1CH~1FH

20H~21H

22H~23H

字节数

4

4

4

4

4

2

2

4

4

2

2

类型

字符

长整数

字符

字符

整数

整数

整数

长整数

长整数

整数

整数

内容

资源交换文件标志(RIFF)

从下个地址开始到文件尾的总字节数

WAV文件标志(WAVE)

波形格式标志(FMT)

过滤字节(一般为00000010H)

格式种类(值为1时,表示数据为线性PCM编

码)

通道数,单声道为1,双声音为2

采样频率

波形数据传输速率(每秒平均字节数)

数据的调整数(按字节计算)

样本数据位数

声音数据块

偏移地址

24H~27H

28H~2BH

字节数

4

4

...

类型

字符

长整型

内容

数据标志符(data)

采样数据总数

采样数据

示例

下图是用UltraEdit打开的wav文件的部分截图

此段WAV文件是使用window自带的录音机软件完成,生成的16进制文件内容,采用用的

是小段存放格式(高地址存储高位,低地址存储低位)按字节存储(8bit)

补充头文件样例说明:

(1)“52 49 46 46”这个是Ascii字符“RIFF”,这部分是固定格式,表明这是一个WAVE

文件头。

(2)“22 60 28 00”,这个是我这个WAV文件的数据大小,这个大小包括除了前面4个字

节的所有字节,也就等于文件总字节数减去8。16进制的“22 60 28 00”对应是十进制的

“2646050”。

(3)“57 41 56 45 66 6D 74 20”,也是Ascii字符“WAVEfmt”,这部分是固定格式。

以后是PCMWAVEFORMAT部分

(4)“12 00 00 00”,这是一个DWORD,对应数字18,这个对应定义中的PCMWAVEFORMAT

部分的大小,可以看到后面的这个段内容正好是18个字节。一般情况下大小为16,此时最

后附加信息没有,上面这个文件多了两个字节的附加信息。

(5)“01 00”,这是一个WORD,对应定义为编码格式(WAVE_FORMAT_PCM格式一般用的是

这个)。

(6)“01 00”,这是一个WORD,对应数字1,表示声道数为1,是个单声道Wav。

(7)“22 56 00 00”对应数字22050,代表的是采样频率22050,采样率(每秒样本数),

表示每个通道的播放速度

(8)“44 AC 00 00”对应数字44100,代表的是每秒的数据量,波形音频数据传送速率,

其值为通道数×每秒样本数×每样本的数据位数/8(1*22050*16/8)。播放软件利用此值可

以估计缓冲区的大小。

(9)“02 00”对应数字是2,表示块对齐的内容。数据块的调整数(按字节算的),其值

为通道数×每样本的数据位值/8。播放软件需要一次处理多个该值大小的字节数据,以便

将其值用于缓冲区的调整。

(10)“10 00”数值为16,采样大小为16Bits,每样本的数据位数,表示每个声道中各个