학습 내용 | 조 : 2조 |
작성자 : 김동영 | |
작성일 : 2011. 5. 29 | |
제목 : Wave 포맷 분석 |
1. Wave파일이란?
기본적으로 MS사의 기본 Sound Format이다.
전체 구조는 Electronic Arts사의 IFF(Interchange File Format)에 기초를 두고 있고, MS사의 RIFF(Resource IFF)와 Apple의 AIFF로 나뉜다.
wave파일의 구조는 다음과 같다.
오른쪽 숫자는 읽어야 할 byte, *은 가변적인 길이이다.
2. Chunk의 기본형식
chunk의 기본형식은 다음과 같다.
Chunk ID가 있고, 해당 Chunk의 Size, Size만큼의 Data가 들어있다.
3. fmt_ Chunk
해당 Chunk는 이 wave파일의 정보들을 보관하고 있다.
"fmt_" | Chunk ID |
Chunk Size | Chunk Size |
Compression Code | PCMWAVEFORMAT의 값(1:PCM ) |
Number Channels | 채널수(1:모노, 2:스테레오) |
SampleRate | 샘플링 수 |
BytePerSecond | 초당 샘플 바이트 |
BytePerSample | 샘플당 바이트 |
BitsPerSample | 샘플당 비트수 |
Extraformatsize | 부가정보 사이즈 |
extraformatdata | 부가정보 |
Channel의 수에 따라서 저장되는 형태는
1채널일 때
2채널일 때
3채널일 때
숫자는 채널 번호이고, 채널의 수에 따라서 반복되면서 저장되어있다. |
Extraforma은 존재하지 않을 수도 있는데, 그에 대한 판별은 Chunk Size를 확인했을 때 16보다 크게 되면 존재할 것이다.
4. data Chunk
이곳에 파형 데이터가 저장되어있다.
Chunk ID는 "data"이지만 "wavl"로 존재할 수도 있다.
5. 기타 Chunk
Chunk ID의 종류에는
등이 있다.
"fmt"와 "cue"는 3byte지만 ID의 크기는 4byte이기 때문에 뒤에 공백으로 채워진다.
위에서는 공백을 '_'로 표현하였다.
Chunk ID는 항상 소문자로 존재하지 않고, 대문자로 존재하는 경우도 있다.
'기타 > Wave' 카테고리의 다른 글
Wave 파일 분석 (0) | 2012.11.02 |
---|---|
주파수 생성 (0) | 2012.08.16 |