申明:本博客所有标注为原创的文章均为本人原创,非商业目的转载和摘录请注明链接地址,如需商业用途请与本人联系。
WAV是由微软和IBM联合开发的一种音频数字编码格式,它采用RIFF文件格式结构(Resource Interchange File Format,RIFF),RIFF是一种树形文件结构,它是由一个表头(header)跟随着多个区块(chunks)所组成,简单来说,wav文件 == 音频信息 + 音频数据。wav 文件本身可以包含各种编码格式,一般由3个文件区块构成:RIFF Chunk,Format Chunk,Data Chunk。另外还可能包含以下不常见的区块:Fact Chunk,Cue Chunk,Playlist Chunk,Associated Data List Chunk,Label Chunk,Labeled Text Chunk,Note Chunk,Sample Chunk,Instrument Chunk.。
RIFF基本文件结构:
表头(Header):
大小 |
含义 |
4 Byte |
Chunk ID |
4 Byte |
Chunk Data Size |
Chunk Data Size |
Chunk Data Bytes |
区块(Chunks):
大小 |
含义 |
4 Byte |
Chunk ID |
4 Byte |
Chunk Data Size |
Chunk Data Size |
Chunk Data Bytes (长度不为偶数,则填入一个byte) |
wav文件结构:
|
RIFF区块:
名称 |
偏移 |
大小 |
数值 |
含义 |
ChunkID |
0x00 |
4Byte |
'RIFF' (0x52494646) |
'RIFF' |
ChunkSize |
0x04 |
4Byte |
(file size) - 8 |
Chunk Data Size |
Type |
0x08 |
4Byte |
'WAVE'(0x57415645) |
'WAVE' |
|
0x10 |
Chunk Data Size |
|
Wave chunks |