Admin | Write | GuestBook
[공지] 해당 블로그에 용건이 있으신 분께서는 http://blog.fore.kr/ 의 방명록(Guestbook)으로 부탁드립니다.
WAV 구조 (?)
Category : Programming/Programming Talk | URL : | Written by 포레 ( 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언어로 들어가야하나..

아무튼 참고자료


'Programming > Programming Talk' 카테고리의 다른 글

심심해서 적어보는 ReverseMe ! 풀이 [2]  (6) 2010.08.24
[API] 모든 드라이브 경로 구하기  (8) 2010.04.11
[업데이트] Image Downloader Beta 1.1v  (4) 2010.02.10
Image Downloader Beta 1.0  (8) 2010.01.18
중단  (124) 2009.07.13
Category
분류 전체보기 (605)
Notice (6)
Programming (79)
DISKER (1)
FSCH (7)
Caption (0)
Rest Time ! (443)
Hobby (64)
Tour (5)
Blind Post (0)
Recent Post
Recent Comment
Link
Calender
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today :
Yesterday :