PCM 과 WAV 오디오 파일의 차이
1. PCM(Pulse Code Modulation) 오디오 파일
pcm audio file은 header 가 없이 raw data 만 저장한 파일이다.
따라서 pcm 포맷으로 저장된 오디오는 별도로 오디오에 대한 정보를 가지고 있지 않으면 제대로 play 할 수 없다.
오디오 드라이버에서 오디오 데이터를 캡쳐했다면, 당연히 header 가 없는 pcm 포맷이며 이때 오디오 드라이버가 어떤 상태(sampling rate, bit size, endian, channels)로 동작 중이 였는지에 따라 pcm 포맷을 해석해야 한다.
만일 데이터가 RIFF 포맷이라면 Little endian 형식이므로, wav header 만 붙여주면 wav 오디오의 play가 가능해진다.
따라서 big endian 이라면 header 추가 뿐만 아니라 오디오 데이터에 대한 endian 변환까지 해야 한다.
2. WAV(Waveform Audio Format) 오디오 파일
Wav 는 Waveform audio format의 준말로 개인용 컴퓨터에서 오디오를 재생하는 마이크로소프트와 IBM의 오디오 파일 포맷 표준이다. 덩어리째로 데이터를 저장하기 위한 RIFF 비트스트림 포맷 방식에서 변화한 것으로, 아미가에 쓰이는 IFFF와 매킨토시 컴퓨터에 쓰이는 AIFF 포맷에 매우 가깝다. 가공되지 않은 오디오를 위한 윈도 시스템에 쓰이는 기본 포맷이다.
Wav File은 Header + PCM 데이터로 볼 수 있다. 실제 소리 데이터인 PCM 에 Header를 붙인 것이다.
대부분의 음원 편집/재생 소프트웨어 에서 이 포맷(wav)을 지원한다. 무손실 무압축 형식의 파일이기 때문에 용량이 무척 크지만 그만큼 원본 소스 그대로를 가지고 있기 때문에 녹음/편집 작업을 하는 분들은 이 파일을 토대로 작업을 하게 된다. 쉽게 말해, 소리의 정보가 그대로 들어있는 파일 인 것이다.
WAV 파일의 헤더는 chunk 라고 하는 몇 개의 덩어리로 나누어진다.
RIFF chunck 는 Resource InterChange File Format 으로 avi 나 wav 같은 파일 형식을 나타내기 위해서 사용한다.
fmt 는 sub-chunck 로서 파일의 형식을 갖고 있으며, channel 개수, Sample Rate, Byte Rate , Bit Per Sample 등의 정보가 들어간다.
data 영역에는 실제 PCM 데이터가 들어간다.
*Reference
https://www.samsungsds.com/kr/story/data-compression-0918.html - 압축이 없었다면 유튜브도 없고, 인터넷도 없었을 거라고요? - 삼성SDS, 소셜크리에이터 조남호 프로 2019-09-18
https://ko.wikipedia.org/wiki/%EC%98%A4%EB%94%94%EC%98%A4_%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7 - wikipedia
https://ko.wikipedia.org/wiki/WAV - wikipedia
https://m.blog.naver.com/vasurada0/220987206351