1. WAVE header由RIFF header開始
___________________
0 4 | ChunkID | 0x52494646: "RIFF"
|___________________|
4 4 | ChunkSize | 4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
|___________________|
8 4 | Format | 0x57415645: "WAVE"
|___________________|
2. subchunk由fmt和data所組成
2.1. fmt內容
___________________
12 4 | Subchunk1ID | 0x666d7420: "fmt"
|___________________|
16 4 | Subchunk1Size | 0x10000000: 16
|___________________|
20 2 | AudioFormat | 0x0100: PCM
|___________________|
22 2 | NumChannels | 0x0100: Mono, 0x0200: Stereo
|___________________|
24 4 | SampleRate |
|___________________|
28 4 | ByteRate | SampleRate * NumChannels * BitsPerSample / 8
|___________________|
32 2 | BlockAlign | NumChannels * BitsPerSample / 8
|___________________|
34 2 | BitsPerSample | 0x0800: 8 bits, 0x1000: 16 bits
|___________________|
2.2. data內容
___________________
36 4 | Subchunk2ID | 0x64617461: "data"
|___________________|
40 4 | Subchunk2Size | NumSamples * NumChannels * BitsPerSample / 8
|___________________|
44 * | Data |
|___________________|
3. SampleRate的十六進制轉換
0x401F0000: 8.0k (0x1F40)
0x803E0000: 16.0k (0x3E80)
0x22560000: 22.5k (0x5622)
0x007D0000: 32.0k (0x7D00)
0x44AC0000: 44.1k (0xAC44)
0x80BB0000: 48.0k (0xBB80)
4. 參考來源
http://soundfile.sapp.org/doc/WaveFormat/