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

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번 반복해서 인코딩하면 어떻게 될까?”

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 인코더 사용”

MQA 음원의 진실

온라인 음원 시장에서 고음질 코덱과 이것을 지원하는 오디오 기기들은 소비자를 현혹시키고 새로운 소비를 유발하는데 휼륭한 원동력이 됩니다.

FLAC(Free Lossless Audio Codec)처럼 누구나 자유롭고 무료로 사용할 수 있는 “무손실” 압축 코덱과 비교하면 MQA 코덱은 고음질 음원과 전용 디코딩 하드웨어라는 달콤한 유혹으로 얼마나 쉽게 소비자를 우롱하고 주머니를 털어갈 수 있는지 잘 보여주고 있는 사례라고 할 수 있습니다.

MQA 코덱의 실체를 잘 보여준 영상이 있습니다.

테스트 결과의 요약

  • MQA는 원본의 샘플레이트와 관계없이 무손실이 아니다.
  • 대부분의 MQA 음원이 44.1kHz 마스터(원본)를 인코딩한 것이고 고주파(나이퀴스트 한계 = 44.1kHz/2) 컨텐츠를 포함하고 있지 않다.
  • 원본 음원에 고주파 데이터가 존재할 경우 MQA에서는 이것이 상호 변조(intermodulation)에 의해 가청 주파수 영역 내의 왜곡이 된다(왜 이렇게 되는지는 링크 참고: 샘플 레이트는 높을수록 좋을까?).
  • MQA는 고주파 컨텐츠를 복원하지만 잡음과 artifact이 생기며 다이나믹 레인지가 줄어든다(위 세번째와 같은 이유).
  • 원본 트랙이 16bit/44.1kHz인 경우 Tidal은 더 이상 무손실 FLAC을 제공하지 않으며 “Master”와 “HiFi”는 차이가 없다.
  • 원본 트랙이 24bit이면 비트뎁스를 줄이고(= 다이나믹 레인지 감소) 샘플레이트가 44.1kHz가 아닌 경우에는 리샘플하므로 무손실이 아니다.
  • 원본의 비트뎁스/샘플레이트가 16bit/44.1kHz 보다 높은 경우에 MQA 인증(Authentication)은 더 이상 무결성을 보장하지 않는다.

추가 사항

테스트 결과로만 보면 영상에서 내린 결론이 대부분 맞다고 생각됩니다.

현재 반론으로는 원본의 샘플레이트가 16bit/44.1kHz인 것을 어떻게 알 수 있는가에 대한 것이 있습니다.

하지만 이것은 FLAC 파일에 기록되는 마스터 원본의 정보로 충분히 알 수 있는 것이기 때문에 논란의 여지는 그다지 없어보입니다.

캐나다의 싱어송라이터인 닐 영이 MQA 코덱의 불합리함을 인지하고 Tidal에서 본인의 앨범을 삭제하면서 남긴 글 중에 이런 것이 있습니다.

링크: https://neilyoungarchives.com/news/1/article?id=Tidal-Misleading-Listeners

“타이달의 마스터는 내가 만든 마스터 원본이 아니며 로열티를 받기 위한 수단이다. 그 로열티를 청취자가 내야하는 것에 나는 찬성하지 않는다.”

이 글은 내용을 추가/업데이트하겠습니다.