포레 2009. 8. 26. 21:22





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언어로 들어가야하나..

아무튼 참고자료