RIFF - Resource Interchange File Format
ChunkID - ID 정보를 ASCII 로 포함한다.
ChunkSize - 36 + SubChunk2Size fileSize 크기
Format - fmt 와 data로 이루어져있다.
FMT
Subchunk1ID - wave file의 정보를 가지고있다.
Subchunk1Size - 16 for PCM.
AudioFormat - 아날로그 - 디지털 변환 방법
NumChannels - Mono = 1, Stereo = 2 채널 숫자 : 스테레오/모노
SampleRate - 표본화율
ByteRate - SampleRate * NumChannels * BitsPerSample/8 용량
BlockAlign - NumChannels * BitsPerSample/8
BitsPerSample - 8 bits = 8, 16 bits = 16
DATA - data는 subchunk 자료(전체 데이터길이 정보)를 가지고있고 사실음의 크기를 포함한다Subchunk2ID
Subchunk2Size - NumSamples * NumChannels * BitsPerSample/8 이것은 자료에 있는 바이트 수이다. 또한 이 수 뒤에 subchunk의 크기로 이것을 생각할 수 있다.
data - The actual sound data.
◎ 원문
The canonical WAVE format starts with the RIFF header:
0 4 ChunkID Contains the letters "RIFF" in ASCII form (0x52494646 big-endian form).
4 4 ChunkSize 36 + SubChunk2Size, or more precisely:
4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
- This is the size of the rest of the chunk
following this number. This is the size of the
entire file in bytes minus 8 bytes for the
two fields not included in this count:
ChunkID and ChunkSize.
8 4 Format Contains the letters "WAVE" (0x57415645 big-endian form).
- The "WAVE" format consists of two subchunks: "fmt " and "data":
The "fmt " subchunk describes the sound data's format:
12 4 Subchunk1ID Contains the letters "fmt " (0x666d7420 big-endian form).
16 4 Subchunk1Size 16 for PCM. This is the size of the
- rest of the Subchunk which follows this number.
20 2 AudioFormat PCM = 1 (i.e. Linear quantization)
- Values other than 1 indicate some form of compression.
22 2 NumChannels Mono = 1, Stereo = 2, etc.
24 4 SampleRate 8000, 44100, etc.
28 4 ByteRate == SampleRate * NumChannels * BitsPerSample/8
32 2 BlockAlign == NumChannels * BitsPerSample/8
- The number of bytes for one sample including
all channels. I wonder what happens when
this number isn't an integer?
34 2 BitsPerSample 8 bits = 8, 16 bits = 16, etc.
2 ExtraParamSize if PCM, then doesn't exist X ExtraParams space for extra parameters
- The "data" subchunk contains the size of the data and the actual sound:
36 4 Subchunk2ID Contains the letters "data" (0x64617461 big-endian form).
40 4 Subchunk2Size == NumSamples * NumChannels *BitsPerSample/8
- This is the number of bytes in the data.
You can also think of this as the size
of the read of the subchunk following this number.
44 * Data The actual sound data.
이건 C언어로 들어가야하나..
아무튼 참고자료