WAV

 


[image]
1. 개요
2. 상세
3. 호환되는 프로그램
4. 속성과 그 의미
4.1. 용량 계산법
5. 관련 문서
6. 외부 문서


1. 개요


'''WAVeform audio format'''
웨이브폼 오디오 포맷(웨이브 오디오 포맷)의 준말. WAVE라고도 한다. 일부 프로그램에서는 한국어 번역 오류나, 이해를 돕기 위해 파형 오디오 포맷 이라고 칭한다.

2. 상세


마이크로소프트 윈도우에서 표준적으로 사용되는 PCM 데이터 파일이다. 예를 들어 CD에 있는 여러 파일들을 어떠한 형태로도 압축을 하지 않고 하나의 파일로 만들었을 때에 해당하는 윈도우용 오디오 포맷의 규격이라고 보면 된다.
FLAC 형식이 무손실 압축 포맷이라면, 이쪽은 '''무손실 무압축''' 포맷이다. 이미지 파일로 치자면 BMPTIFF, 또는 DSLR 등에서 지원하는 RAW 파일과 비슷하다고 할 수 있다. 이 때문에 보통 WAV 파일의 용량은 FLAC의 2배 이상이다. 초당 비트레이트는 1411.2kbps.[1]
위에서 서술한 특징 덕분에 프로그래머가 사운드 관련 코드를 짤 때 wav 파일을 쓰면 편리하다. mp3 확장자는 편집 후 재압축하면 음질이 손상될 우려가 있고, 손실형 압축을 해버리면 편집에 문제가 생길 수 있기 때문에 wav 확장자를 쓰는 것이 프로그래머나 편집자에게는 훨씬 좋다. 베가스 프로에서 작업을 할 때 mp3 음원 파일을 불러오면 음질이 깨지는 경우가 발생하기도 하지만, wav 파일은 이런 일이 일어나지 않는다. mp3는 작업이 끝난 파일을 다른 사람에게 전달할 때 주로 이용한다.
4GB 용량 제한이 있어서 기존 PCM 규격의 WAV 형식으로 2시간 이상의 멀티채널 오디오를 저장하기에는 한계가 있다. 그렇기에 기존 WAV 대신에 Wave64 컨테이너나 RF64 규격의 WAV 컨테이너에 대신 저장하기도 한다. 혹은 멀티채널 오디오를 모노 채널로 분리하여 각각의 PCM 규격의 WAV 파일로 저장하기도 한다.
이런 이유로 영화나 드라마의 사운드를 작업하는 사람들은 PCM 규격의 WAV 컨테이너를 쓰는 것에 상당히 난감해하는 편이다.
WAV 파일은 PCM 뿐만 아니라 ADPCM이나 MPEG Layer-3 등의 다른 코덱을 사용해서 압축하는 것도 가능하다. 예를 들어 Windows 7의 테마별 효과음이 MP3 160Kbps로 압축된 WAV 파일을 사용한다. Windows XP녹음기#s-2에서 압축된 WAV 파일을 열면 파형이 표시되지 않고, 회색으로 나온다.
압축하지 않기 때문에 재생시 CPU 등의 하드웨어 리소스 부담이 적어 게임 개발때 BGM은 flac, mp3, ogg로 사용하더라도 동시에 많은 소리를 재생할 일이 많은 SE(효과음)은 wav 포맷을 사용하는 편이다. 0.5초 내외의 wav 파일 크기는 부담되지 않기도 하다.

3. 호환되는 프로그램


대부분의 사운드 편집 프로그램에서 기본적으로 지원한다.[2] 다만, 똑같은 wav 파일이라도 샘플당 비트수(bits per sample)나 주파수(frequency)에 따라서 올바르게 재생이 되지 않는 경우가 있을 수 있다.

4. 속성과 그 의미


  • Sample: 소리 정보의 가장 작은 단위. 샘플 하나 하나는 단지 각 시점에서 소리의 크기를 나타낼 뿐이다. 음악을 듣는 것은 음원(=샘플을 모아놓은 자료)으로부터 소리를 복원하는 과정을 거쳐야 하고, 소리의 고주파음, 저주파음 같은 정보 또한 음원을 통해서만 알아낼 수 있다.
  • Bits per sample: 샘플 하나마다 소리의 세기를 몇 비트로 저장했는지를 나타낸다. 값이 커질 수록 세기를 정확하게 저장할 수 있다. 가장 많이 쓰이는 값은 16bit로, 소리의 세기를 2^16 즉 65,536 단계로 나누어 저장했다는 뜻이다. 4bit / 8bit unsigned int / 16bit int / 24bit / 32bit float 등의 자료형이 쓰인다.
  • Sampling frequency: 샘플링 주파수. 소리로부터 초당 샘플링한 횟수를 의미한다. 음원에서 가장 많이 쓰이는 값은 44.1 kHz로, 인간이 들을 수 있는 소리 정보를 매우 잘 커버하는 값이다. 48 kHz 또한 자주 쓰이는 값이고, 어떤 음원 파일들은 16 kHz / 192 kHz 등의 값을 가지고 있다. 아주 가끔 WAV 파일을 재생하는데 웬 이상한 노이즈가 잔뜩 끼어 나오는 경우가 있는데, 이는 십중팔구 프로그램이 해당 음원의 샘플링 주파수를 제대로 처리 못하는 경우이다.
  • Channel: 몇 개의 스피커에 알맞은 음원인지를 나타낸다. 각 채널별로 샘플링된 데이터가 따로 저장되어 있다. 예를 들어, 2채널(Stereo) 음원을 재생하면 왼쪽과 오른쪽 스피커에 다른 값이 입력되는데, 1채널(Mono) 음원의 경우 왼쪽과 오른쪽 스피커로 완전히 같은 값이 입력된다.
  • 비트레이트: 음원이 재생될 때 초당 읽어들이는 비트 수. Sampling frequency와 bits per sample, channel에 의해 결정되며, 값이 클수록 고품질 음원을 저장할 수 있다.
  • 코덱: 음원 데이터가 저장되는 방식. WAV 파일은 PCM 코덱을 쓰는데, 이는 음원 데이터에 별도의 가공을 하지 않는다.

4.1. 용량 계산법


위에서 말한 각 속성별 특징에 따라 계산 공식은 아래와 같이 나온다.
'''(BITS PER SECOND) = (bit per sample) × (frequency) × (channels)'''[3]
'''(CAPACITY) = (time) × (BITS PER SECOND) / 8 / (2의 10배수 거듭제곱)'''
예를 들어, PCM 16bit int, 44.1kHz, Stereo의 속성을 가지고 있는 20초짜리 음원이 있다고 가정해 보자.
그렇다면 용량은 20×16×44100×2/8 = '''352만 8000 바이트 ≒ 3.36MB'''가 나온다. 그리고 비트레이트는 16×44100×2 = '''141만 1200bps = 1411.2kbps'''가 되는 것이다.

5. 관련 문서



6. 외부 문서


http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html

[1] 44100Hz, 16bit, 2ch 기준[2] Windows 10에 기본적으로 깔려있는 음성 녹음기 앱은 wav를 지원하지 않고 손실 압축 포맷인 m4a로만 저장한다.[3] 이때, 접두사를 붙이고 싶다면 위 공식으로 나온 값을 10의 정수 거듭제곱으로 나누면 된다.