학습 내용

조 : 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

+ Recent posts