[실험] 맥OS에서 애플뮤직 비트퍼펙트 되나, 안 되나? - 반전있음
RME오디오에서는 비트퍼펙트 테스트 WAV파일을 제공합니다. 이 파일을 재생해서 비트무결성이 확인되면 DAC 화면에 "passed" 표시가 뜹니다. 좀 더 자세한 설명은 ADI-2 DAC 영문 매뉴얼 67p "31.14 Bit Test"에 서술되어 있습니다.
https://www.rme-audio.de/downloads/adi2dacr_e.pdf
테스트WAV파일이 스트리밍 서비스에서 제공되지는 않지만 애플뮤직 앱이 오프라인 컨텐츠 재생을 지원한다는 점에 착안해서 "앱"과 맥OS의 사운드커널의 비트퍼펙트 여부를 테스트해보았습니다.
- 테스트 환경 -
24" iMAC 2021 애플실리콘M1
MacOS Ventra 13.2.1
애플뮤직 1.3.3.1 >> 테스트 하루만에 1.3.3.2로 업데이트, 그러나 테스트 결과는 같습니다.
RME ADI-2 DAC fs (ESS 9028q2m, Ver. 78/51)
테스트 WAV의 샘플링레이트는 44.1/48/96/192, 그리고 비트뎁스는 16/24/32로 총 12개의 파일이 준비되어 있습니다. 맥OS의 오디오-MIDI 셋업에서 수동으로 장치출력의 샘플링레이트를 테스트WAV의 샘플링레이트와 일치하게 변경하면서 테스트하였습니다만, 비트뎁스는 32비트 정수로 고정되어 있어서 변경이 불가능했습니다.
- 결과: M1 -
44.1kHz : 모든 비트뎁스에서 실패
48kHz : 모든 비트뎁스에서 실패
96kHz : 모든 비트뎁스에서 실패
192kHz : 모든 비트뎁스에서 성공
이를 통해서 맥OS와 애플뮤직 앱의 작동방식을 아래와 같이 추론해볼 수 있습니다.
1) 음원 샘플링레이트가 192kHz가 아닌 경우, 내부적으로 192kHz로 업샘플링한후에 출력 샘플링레이트로 다운샘플링하는 듯 하며 이 과정에서 비트 무결성이 깨어집니다. 수동이든 자동이든 출력장치와 음원의 샘플링레이트를 일치시키는건 별 의미가 없어 보입니다.
2) 음원 샘플링레이트가 192kHz이고 출력 샘플링레이트도 이와 일치하는 경우에는 비트무결성이 깨지지 않았습니다. 다른 프로그램에서 사운드를 동시 출력하거나, EQ를 적용하거나, 앱에서 자체 볼륨을 변경하는 등 인위적으로 비트무결성을 깨트리는 행위가 아니라면, 단독exclusive 모드가 아니어도 무관한 듯 합니다.
3) 16비트 음원을 32비트로 출력해도 비트 무결성은 깨지지 않습니다.
- 결론 -
해당 하드웨어에서는 출력설정을 192/32로 고정하고 신경을 끄는게 좋습니다. 비트퍼펙은 안 되지만, 그렇다고해서 불필요한 왜곡이나 변조가 들어가지는 않습니다.
- 보완사항 -
아이폰하고 DAC를 연결하는 케이블이 없어서 아이폰용 애플뮤직은 실험하지 못했습니다.
P.S. 구형 인텔 맥에서는?
구형 인텔 맥에서도 똑같은 실험을 해보았습니다.
2017년 맥북프로 13" 터치바 인텔i5
- 결과: 인텔 -
44.1kHz : 모든 비트뎁스에서 성공
48kHz : 모든 비트뎁스에서 실패
96kHz : 모든 비트뎁스에서 실패
192kHz : 모든 비트뎁스에서 실패
댓글 32
댓글 쓰기허허...그럼 비트퍼펙트 맞추겠다고 LosslessSwitcher같은 서드파티 앱까지 쓰던 분들 많던데 192kHz 음원이 아니라면 크게 의미는 없었겠군요
와 대단하십니다. 이제 해골물 마시던 분들 많이 줄어 들겠군요. 이런식으로 하나씩 밝혀지는거 좋아요.
내부 변환 샘플링레이트/비트뎁스가 음원 스펙보다 높기만 하다면야, 비트퍼펙트가 깨져서 왜곡이 생기더라도 기존 음원 노이즈플로어 아래쪽, 주파수 하이컷 위쪽이라서 큰 문제는 안 될듯 합니다.
근데 오늘 추가 실험을 해보고 반전이 생겼습니다ㄷㄷㄷ
제가 제일 이상적이라고 보는 디지털 소스의 경로는 OS의 오디오서버 성능이 구리니 여기선 리샘플링이 없도록 음원 파일대로 설정하여 뽑고 DDC단에서 크게 업스케일 처리 한 다음 DAC 성능에 맞춰 다시 적절히 다운 스케일 & 리클럭 하여 DAC에서 최종 아날로그 변환 하는 거죠.
제가 J-DDC나 M스케일러에 관심이 있는 이유입니다. 기본 덱엠의 톤벨런스가 맘에 드는데 선 신호 처리를 잘해서 최대한 깨끗한 음질을 얻을 수 있다면 이게 고가형 DAC에 투자하는 것보다 낫지 않을까 하는 막연한 생각이죠.
하지만 그냥 돈잔치 + 해골물로 끝날 가능성도 많습니다. ^^;;
눈팅만 가끔 하고 있는데 댓글을 쓸 수 밖에 없는 간단하지만 유용한 실험글이네요. 추천드립니다!
예전에 아이튠즈 시절에 "BitPerfect"라고 그런 역할을 하는 앱이 있었습니다.
로컬 스토리지에 억세스해서 자체 알고리즘으로 비트퍼팩 또는 리샘플링을 해주었는데, 지금도 로컬 음원에서는 작동하는 듯 하지만 스트리밍 음원은 안 됩니다ㅜㅜ
그런데 출력 샘플링레이트를 음원 샘플링레이트와 수동으로 일치시켜도 비트퍼펙트는 되지 않는다는게 본문의 실험결과라서 자동으로 맞춰주는게 큰 의미는 없을거 같아요. 실험은 해볼 수 있겠지만 개발자가 밝힌 이 앱의 (오픈소스죠 아마?) 작동 원리가 사운드 처리 자체를 바꾸는게 아니라 오디오-midi 앱에서 수동으로 변경하던걸 자동으로 해줄 뿐이라더군요.
아이폰(라이트닝)과
아이패드(타입C) 에서는
각각 어떤지 궁금하네요
근데 마침 인텔맥북도 있어서 똑같은 테스트를 해보았는데 반전 결과가... 본문에 추가하겠습니다.
폰과 패드에서는 어떨지 연결 방법을 알아보고 나중에 후속 실험을 해보도록 하겠습니다.
196kHz로는 어떻게 설정하나요?
RME 제품이 없으면 불가능했을 테스트인데, 좋은 실험 감사드립니다! 한 가지만 질문드리고 싶습니다.
현재 토핑 E70을 사용하고 있는데, 최대 768khz, 32비트 정수까지 설정 가능한 것으로 나옵니다. idletalk님의 결론은 가지고 있는 음원중 가장 스펙이 높은 음원의 샘플링레이트와 비트뎁스에 맞춰 설정해 놓으면 그 아랫스펙 음원들 재생에도 걱정할 것 없다는 말씀 같은데 맞을까요? 그렇다면 애플뮤직을 주로 사용할 때 기준으로 샘플링레이트와 비트뎁스를 각각 몇으로 하면 될지도(아마 애플뮤직 기준 최고 해상도인 192/24에 맞추면 된다는 말씀이실 것 같은데) 궁금합니다... ^^;
가장 좋은건 디지털 음원이 그대로 DAC까지 비트퍼펙트하게 전달되는 거겠지요. 물론 비트퍼펙트가 모든 문제를 해결한다기 보다는 "그 다음은 DAC 내부에서 어떻게든 되겠지"에 가깝습니다. 불가피하게 DAC에 도달하기 전에 디지털 음원을 리샘플링/리스케일링해야 할 경우 가능한 높은 스펙으로 하는게 좋구요. 그러니 "출력포맷을 높게 하면 걱정이 없다"기 보다는 "출력포맷을 수동으로 음원에 맞춰줘도 어차피 안 된다"가 좀 더 정확한 표현이지만, 대체로 맞게 요약하신것 같습니다.
비트뎁스는 무지성으로 높은게 좋고, 1이라도 높으면 왜곡이 생기지 않습니다만, 업샘플링을 할 때에는 디지털필터의 특성에 따라서 나이퀴스트 주파수(샘플주파수/2) 위 대역에서 생기는 노이즈에 차이가 생깁니다. 디지털 "필터"라고 하니까 단순히 없는게 좋지 않겠느냐는 견해도 있긴 한데, 이게 사실 필터라기보다는 샘플 사이에 정보를 채워주는 보간법 알고리즘입니다. 이 알고리즘의 특성이 샘플주파수값을 크게 하는 것보다 더 중요합니다.
음원의 샘플주파수가 최대 192kHz일경우, 출력포맷을 192로 하느냐 아니면 그 이상을 하느냐는 음원에서 96kHz 이상의 초고주파 성분을 어떻게 처리할 것인가의 차이로 나오게 됩니다. 이정도 주파수라면 아무래도 상관없지 않을까 생각이 되네는데요, 만약 특별한 알고리즘으로 디지털 필터를 구현하는 재생어플을 사용하신다면 최대로 설정해보셔도 좋을 듯 합니다. 반대로 DAC 자체의 디지털 필터를 신뢰하신다면 출력포맷을 음원포맷과 일치시켜야 합니다. 음원의 샘플링레이크가 44.1kHz를 초과한다면 별 의미 없지만요.
추가된 구형 인텔 맥 결과가 반전 드라마군요..;;
작성하신 지 오래된 글인데 이제야 읽고 갑작스레 질문드리게 되었는데... M1 Pro MBP에서 위와 같이 설정하면 된다는 말씀이 맞을까요? 여전히 어려운 DAC 설정의 세계입니다... ^^;
그 사이에 어떤 업데이트가 있었을지 모르겠지만 어차피 사용자가 할 수 있는게 없어요ㅎ
간단하면서 명쾌한 테스트 결과입니다. 추천!