
Hi‑Fi DAC 소리가 이상한 이유
라우트 인식 재생이 실제로 해결하는 것
당신은 모든 걸 올바르게 했다.
앨범을 FLAC으로 리핑했다. 제대로 된 DAC를 샀다. 연결하고, 음악 앱을 열고, 최고로 좋은 소리라는 걸 알고 있는 96kHz 녹음을 재생했다.
DAC에 불이 들어온다. 음악이 시작된다.
그런데 뭔가 이상하다. 약간 평평하다. 약간 생기가 없다. 나쁘진 않다 — 단지 기대했던 것과 다르다.
사실은 이렇다: 당신이 듣고 있는 것이 재생하고 있다고 생각하는 파일이 아닐 수도 있다.
대부분의 리스너는 하이레졸루션 트랙을 재생하면 원본 오디오가 그대로 DAC에 도달한다고 생각한다. 하지만 실제로는 앱에서 귀까지의 경로에서 신호가 숨겨진 처리 단계들을 조용히 거치게 된다 — 리샘플링, 포맷 변환, 시스템 믹싱, 호환성 우회 처리 — 그리고 대부분의 음악 앱은 이 중 어느 것도 알려주지 않는다.
정성 들여 고른 기기가 제 성능을 발휘하지 못한다고 느낀 적이 있다면, 아마 이것이 이유일 것이다.
재생 버튼을 눌렀을 때 실제로 일어나는 일
재생을 직선으로 상상하기 쉽다: 파일이 들어가고, 소리가 나온다. 하지만 실제로 오디오는 들을 수 있는 상태가 되기 전에 여러 단계를 거친다.
일반적인 체인은 대략 이런 식이다:
- 파일 포맷 디코딩 (FLAC, MP3, AAC 등)
- 시스템이 기대하는 작업 포맷으로 샘플 변환
- 신호 처리 적용 — ReplayGain, EQ, 볼륨 조정
- OS 믹서 통과 — 시스템 자체 오디오 레이어
- 사용 중인 기기로 출력 — 블루투스, USB DAC, 네트워크 스피커
이 각 단계가 신호를 변경할 수 있다. 그리고 여기서 흥미로워진다: 모든 출력 경로의 동작이 다르다.
블루투스는 손실 압축을 도입한다. 일부 네트워크 스피커는 48kHz 이상을 조용히 거부한다. 많은 스마트폰은 무엇을 재생하든 오디오 믹서를 단일 샘플레이트에 고정한다. USB DAC는 높은 샘플레이트를 지원할 수도 있다 — 단, OS가 실제로 허용하는 경우에만.
재생은 단순히 "파일을 재생하는 것"이 아니다. 소스, OS, 그리고 케이블 저편에 있는 것 사이의 협상이다.
요청하지 않은 리샘플링
이건 많은 사람들을 놀라게 한다.
많은 플랫폼에서 — 특히 Android — 시스템 오디오 믹서는 고정된 샘플레이트(보통 48kHz)로 작동한다. 그래서 아름다운 96kHz FLAC을 재생해도, 시스템이 DAC에 도달하기 전에 조용히 48kHz로 다운샘플할 수 있다.
이런 모습이다:
당신의 트랙: 96kHz FLAC
시스템 믹서: 48kHz
DAC가 받는 것: 48kHz
경고 없음. 알림 없음. 앱은 여전히 "96kHz"라고 표시한다. DAC가 "48kHz"를 표시할 수도 있다, 주의 깊게 보면 — 하지만 대부분은 보지 않는다, 왜 봐야 하나?
공정하게 말하면, 잘 설계된 리샘플러는 놀라울 정도로 투명할 수 있다. 항상 치명적인 것은 아니다. 하지만 오디오 체인이 요청하지 않은 일을 묵묵히 하고 있다는 의미이며 — 원래 샘플레이트를 처리할 수 있는 기기에 투자했다면, 지불한 만큼의 가치를 얻지 못하고 있는 것이다.
모든 출력 기기가 같지 않다
리샘플링 너머에 더 큰 문제가 있다: 모든 재생 기기에는 고유한 특성과 제한이 있으며, 대부분의 음악 앱은 그것이 존재하지 않는 것처럼 행동한다.
실제 사례 몇 가지:
- 블루투스 코덱은 샘플레이트를 제한하고 자체 압축을 도입한다 — 블루투스를 통한 비트퍼펙트 재생은 앱이 무엇을 하든 물리적으로 불가능하다
- 네트워크 렌더러 (DLNA/UPnP 스피커 등)는 특정 포맷만 받고 나머지는 거부하며, 때때로 오류 메시지도 없이 실패한다
- USB DAC는 네이티브 하이레스 샘플레이트를 처리할 수 있는 경우가 많지만, 앱이 OS와 명시적으로 그 기능을 협상해야 한다
- 멀티룸 시스템은 기기 간 동기화된 타이밍이 필요한데, 이는 단일 기기 재생과는 완전히 다른 과제다
앱이 이런 차이를 무시하면 결과는 약간 짜증나는 것부터 정말 혼란스러운 것까지 다양하다: 재생되지 않는 트랙, 끊기는 오디오, 방에 따라 달라지는 음질, 또는 있으면 안 되는 곳에 적용되는 신호 처리.
대부분의 음악 플레이어는 모든 출력 경로를 동일하게 취급한다. 문제는 오디오 하드웨어는 절대 동일하지 않다는 것이다.
플레이어가 진짜로 경로를 이해한다면?
이것이 라우트 인식 재생의 핵심 아이디어다 — 한번 이해하면 놀라울 정도로 간단하다.
모든 트랙을 어디로 가든 상관없이 같은 고정 파이프라인에 넣는 대신, 라우트 인식 플레이어는 실제 출력 경로에 따라 동작을 조정한다. 이런 질문을 한다:
- 현재 활성화된 기기는 무엇인가?
- 어떤 포맷과 샘플레이트를 지원하는가?
- DSP를 적용해야 하는가, 완전히 우회해야 하는가?
- 대상 기기에 트랜스코딩이 필요한가, 원본 파일을 그대로 받을 수 있는가?
서로 다른 경로는 진정으로 다른 전략으로 이어진다:
| 경로 | 합리적인 접근 |
|---|---|
| 블루투스 | 호환성 우선. ReplayGain 같은 유용한 DSP 적용 — 신호가 어차피 재압축되므로 비트퍼펙트는 의미 없음 |
| USB DAC | 네이티브 샘플레이트 협상. 비트퍼펙트 모드 시 DSP 우회. DAC가 설계된 대로 작동하게 함 |
| 네트워크 렌더러 | 기기가 무엇을 지원하는지 확인. 가능하면 원본 파일 전송, 필요할 때만 트랜스코딩 |
| 멀티룸 | 기기 간 타이밍과 버퍼링 조정으로 모든 것을 동기화 |
급진적인 개념이 아니다. 단지 거의 아무도 하지 않을 뿐이다.
Echobox의 접근 방식
이것은 우리가 Echobox에 구축하고 있는 핵심 아이디어 중 하나다.
모든 기기가 같은 방식으로 동작한다고 가정하는 대신, Echobox는 전체 오디오 경로를 이해하고 발견한 것을 바탕으로 합리적인 결정을 내리려 한다.
실제로 이것은 이런 의미다:
- USB DAC 감지? Echobox는 트랙의 네이티브 샘플레이트를 직접 협상하고, 비트퍼펙트 모드가 활성화되면 모든 DSP를 우회할 수 있다. 96kHz 파일이 96kHz 그대로 DAC에 도착한다 — 조용한 리샘플링 없이.
- 블루투스 연결? 비트퍼펙트 모드가 자동으로 꺼진다. 신호는 어차피 코덱에 의해 재압축되므로, Echobox는 경로가 무손실인 척하는 대신 ReplayGain 같은 유용한 처리에 집중한다.
- 네트워크 스피커로 스트리밍? Echobox는 렌더러가 실제로 무엇을 지원하는지 확인하고, 원본 파일을 그대로 보낼지 호환 포맷으로 트랜스코딩할지 결정한다 — 조용한 실패 없이, 추측 없이.
- 멀티룸 재생? 타이밍과 버퍼링을 조정하여 기기를 동기화한다. 주방과 거실 스피커 사이의 200ms 오프셋은 경험을 망치는 종류의 문제이니까.
목표는 복잡함을 추가하는 것이 아니다. 그 반대다 — 복잡함을 처리해서 당신이 생각할 필요가 없게 하는 것이다. 재생을 누르면 Echobox가 그 특정 경로에 가장 좋은 방법으로 신호를 전달한다.
FAQ
라우트 인식 재생이란?
간단히 말해, 음악 플레이어가 오디오가 어디로 가는지 주의를 기울이고 그에 맞게 조정하는 것이다. USB DAC, 블루투스 헤드셋, 네트워크 스피커는 각각 다른 능력을 가지고 있다 — 라우트 인식 재생은 이를 인식하고 획일적인 접근 대신 각 기기에 맞게 파이프라인을 적응시킨다.
리샘플링이 실제로 음질에 영향을 미치나?
상황에 따라 다르다. 고품질 리샘플러는 매우 투명할 수 있으며, 대부분의 리스너는 평상시 감상에서 차이를 듣지 못한다. 하지만 네이티브 샘플레이트를 처리할 수 있는 DAC에 투자했다면, 불필요한 리샘플링은 기기의 진정한 능력을 듣지 못하고 있다는 의미다. 하이파이 체인에서 불필요한 변환을 피하는 것이 일반적인 목표다.
비트퍼펙트 재생이란?
비트퍼펙트는 원본 디지털 오디오 샘플이 완전히 변경되지 않은 채로 DAC에 도달하는 것을 의미한다 — 볼륨 스케일링 없이, EQ 없이, 리샘플링 없이, 어떤 종류의 DSP도 없이. 본질적으로 방해하지 않고 DAC가 파일에 있는 그대로를 받을 수 있게 하는 것이다. 뛰어난 하드웨어에서 가장 의미가 있으며, 블루투스를 통해서는 물리적으로 불가능하기 때문에 스마트한 플레이어는 해당 경로에서 자동으로 비활성화한다.
당신의 셋업을 알려주세요
우리는 음악이 실제로 어떻게 들리는지 신경 쓰는 사람들을 위해 Echobox를 만들고 있다 — 그리고 그것은 사람들이 실제로 사용하는 셋업을 이해하는 것을 의미한다.
이동 중에는 블루투스 헤드폰, 책상에서는 USB DAC로 듣고 있나? 네트워크 스트리머를 진공관 앰프에 연결하고 있나? 멀티룸 동기화 문제와 씨름하고 있나?
알고 싶다. 실제 리스닝 체인과 그에 따라오는 이상한 엣지 케이스를 더 많이 이해할수록, Echobox를 더 잘 만들 수 있다.