MP3, AAC를 1,000번 반복해서 인코딩하면 어떻게 될까?

https://youtu.be/RVMPUf_nQIc
MP3를 1,000번 반복해서 인코딩하면 어떻게 될까?
MP3를 1,000번 반복해서 인코딩하면 어떻게 될까? / 고음질 오디오 M4A (AAC LC VBR)

뻘짓 주의

mp3, aac로 인코딩한 파일을 인코딩하고 그 파일을 다시 인코딩하는 방식으로 1,000번씩 반복해 보았다(간단한 스크립트로 ffmpeg를 1,000번씩 돌림).

물론 이렇게 할 이유도 없고 원본이 압축 손실 파일일 때 편집이 필요하다면 무손실 PCM으로 저장해 두고 편집하는 것이 당연하지만…

MP3

MP3 1,000번 반복 😉
  • FFmpeg lame으로 “-q:a 0″를 주고 VBR로 인코딩
  • 사용한 옵션 : ffmpeg -i “X.mp3” -codec:a libmp3lame -q:a 0 “XX.mp3”
더 보기 “MP3, AAC를 1,000번 반복해서 인코딩하면 어떻게 될까?”

170만원짜리 바이노럴 마이크를 만들었습니다.

자작 바이노럴 마이크 (binaural microphone)

특별 주문한 무지향성 마이크 캡슐로 바이노럴 마이크(Binaural mic)를 만들었습니다(레코더는 사운드 디바이스 MixPre-3 II 사용).

테스트 녹음한 헤드폰: 소니 MDR-7506, 젠하이저 HD560s, AKG K371, 오디오테크니카 M40x, 베이어다이나믹 DT990 Pro

자작 바이노럴 마이크 / 고음질 오디오 m4a (AAC LC, TVBR q127)

참고

  • 마이크 캡슐 제조사
  • 영상에 사용한 장비들은 모두 본인이 구매한 것이며 제조사/판매처와 영상은 관계가 없습니다.
  • 전체 오디오 레벨은 -15 LUFS로 노멀라이즈 했습니다.
  • 유튜브 챕터와 자막을 지원합니다.

AAC, MP3, OPUS 널 테스트(null test)와 음질 비교

AAC, MP3, OPUS 세 가지로 인코딩할 때 주로 어떤 주파수 대역의 소리들이 원본과 비교해서 줄어드는지 화이트 노이즈와 음악 파일로 널 테스트(null test)를 해 보았다.

참고로 널 테스트는 같은 음원 두 개를 하나는 위상 반전해서 재생할 경우 파형이 동일하면 서로 상쇄되면서 아무런 소리도 나지 않게 되는 원리를 이용한 것이다(액티브 노이즈 캔슬링이 같은 원리).

널 테스트로 두 가지 음원에 차이가 있을 경우에는 상쇄되고 남는 데이터만 확인할 수 있으므로 어떤 소리들이 손실되는지 판단이 가능하다.

테스트 조건

  • 원본 : 24bit/48kHz PCM (no dithering)
  • AAC(AAC LC) : 애플 CoreAudio AAC 인코더 / QAAC 프런트엔드 사용
  • MP3 : LAME v3.99.5 / Mode q=2
  • Opus : Hard-CBR, Complexity 10 (Reaper에서 인코딩)
  • 세 가지 코덱 모두 CBR(Constant bitrate)로 인코딩
더 보기 “AAC, MP3, OPUS 널 테스트(null test)와 음질 비교”

윈도우에서 애플 CoreAudio AAC 인코더 사용

윈도우에서 CoreAudio AAC 또는 ALAC으로 파일을 인코딩하려면 qaac 커맨드 라인 프론트엔드를 사용하면 된다.

필요한 것

  • QAAC (CLI QuickTime AAC/ALAC encoder)
  • CoreAudio AAC 인코더는 아이튠즈, 퀵타임을 인스톨해도 되고 필요없다면 링크에서 “iTunes64Setup.exe”를 받아 7zip 같은 압축 프로그램으로 풀어서 “AppleApplicationSupport64.msi”만 설치
더 보기 “윈도우에서 애플 CoreAudio AAC 인코더 사용”

16비트 보다 24비트 오디오가 해상도가 좋다? 오디오 미신

16bit vs 24bit 오디오 비트뎁스 (+32bit float?)

오디오 비트뎁스(Bit depth)는 무엇이고 음질에 어떤 영향을 줄까요? 레코딩 시에는 어떤 비트뎁스를 사용해야 할까요?

16bit vs 24bit 오디오 비트뎁스 / 고음질 오디오 m4a (AAC LC, TVBR q127)

비트뎁스(bit depth) 정리

  • 음원을 재생하는데는 CD 표준인 16비트의 다이나믹 레인지도 충분하다.
  • 16비트의 다이나믹 레인지는 96.3 dB, 24비트는 144.5dB이다(참고: 다이나믹 레인지가 아무리 넓은 음악이라고 할 지라도 5~60dB를 넘지 않는다).
  • 비트뎁스 차이는 다이나믹 레인지(dynamic range) 차이이며 소리의 해상도(?)와는 관계가 없다(해상도, 디테일이 어쩌구 하는 것은 도대체가 어디서 나온 환상인가요?).
  • 디지털 카메라 해상도와 오디오 비트뎁스를 비교할 수 없다.
  • 16/24비트는 노이즈 플로어 차이가 있을 수 있으나 대부분 느낄 수 없는 정도이며 있다 하더라도 청각 마스킹(Auditory Masking) 효과 때문에 들리지도 않는다.
  • 레코딩/편집 시에는 24비트를 사용하는 것이 좋다(노이즈 플로어와 증폭이 이유).
  • 32bit float을 지원하는 오디오 레코딩 기기는 16/24비트 (fixed-point) 와는 다르게 입력 신호가 0dBFS를 넘겨도 클립핑되지 않는다(아예 클립핑이 안되는 것은 아닌데 그 정도 수준이면 이미 아날로그 입력단에서 찌그러집니다).
  • 비트뎁스는 비압축 신호에서만 의미가 있으며 손실 압축 코덱(MP3, AAC)은 비트뎁스라는 것이 없습니다(예를 들어서 MP3 같은 압축 코덱은 오디오 신호를 비트뎁스의 시간 데이터 샘플로 표현하는 것이 아니라 주파수 샘플로 저장하기 때문).
16/24비트에서 샘플 간의 최소 amplitude값 차이

관련글

참고

  • 영상에서 사용한 마이크와 인터페이스: EjiMic v1(DIY), MixPre-3 II – Sound Devices
  • 전체 오디오 레벨은 -14 LUFS로 노멀라이즈 했습니다.
  • 유튜브 챕터와 자막을 지원합니다.