많은 분들이 모바일 환경에서 각종 스트리밍 플랫폼으로 음악을 감상을 하고 있습니다.
하지만, 집에서는 모바일이 아닌 PC를 통해서 음악 감상을 하시는 분들도 많죠.
우리가 가장 많이 사용하는 스트리밍 플렛폼은 멜론, 벅스 등의 국내 토종 플렛폼과 스포티파이, 애플 뮤직, 유튜브 뮤직 등의 해외 플렛폼이 있습니다.
음원의 퀄리티나 음질에 민감한 분들은 애플 뮤직이나 타이달 등의 고음질 음원을 지원하는 플렛폼으로
음원 풀의 규모, 그리고 편리함 만을 원한다면, 멜론 같은 국내 플렛폼이나 유튜브 뮤직 등을 이용하기도 하죠.
그런데, PC로 음악을 감상하시면서, 음원의 퀄리티, 음질에 추구하시는 분의 상당 수가 '원효대사 해골물'같은 음원을 듣고 계신 분들이 많습니다.
그렇기에 PC(윈도우즈) 기반에서 사운드가 출력되는 기본 구조를 살펴보고, 어떻게 해야 실제 고음질 음원을 들을 수 있는지 살펴보고자 합니다.
윈도우즈의 사운드 시스템은 "윈도우즈 비스타"를 기점으로 완전히 뜯어고쳐지게 됩니다.
비스타 이전에는 KMixer(Kernel Audio Mixer:KMixer.sys) 라는 것이 커널 영역에서 모든 사운드를 컨트롤 했습니다.
오디오 드라이버가 호출되기 이전에 KMixer가 오디오 소스를 강제로 믹싱 & 리샘플링을 해서 병합하기 때문에 어떤 방식으로든 원음을 들을 방법이 없었죠.
그러다 윈도우즈 비스타에서 KMixer는 삭제되고 그 빈 자리를 WASAPI(Windows Audio Session API)라는 것으로 대체됩니다.
WASAPI는 총 3가지 모드로 동작합니다.
WASAPI Shared(공유) 모드 - 기본
WASAPI Exclusived(단독) 모드
WASAPI Low Latency(저지연) 모드 (이건 여기선 다루지 않습니다.)
사용자가 별다른 설정을 하지 않으면 윈도우즈의 사운드 시스템은 "WASAPI Shared(공유) 모드"로 동작하게 됩니다.
우선 아래 이미지를 봅시다.

WASAPI Shared(공유) 모드에서는 기본적으로 윈도우즈의 오디오 엔진을 거치게 됩니다.
이 오디오 엔진은 기존의 KMixer와 거의 같은 역할을 합니다.
즉, 사운드 소스를 강제적으로 설정된 포멧으로 리샘플링해서 최종적으로 출력하게 됩니다.
여기서 우리가 눈여겨 봐야 할 것은 WASAPI Exclusived(단독) 모드입니다.
단독 모드는 오디오 엔진을 거치지 않고 바로 소스를 오디오 드라이버로 보내게 됩니다.
아무런 공정을 거치지 않은 원본 소스 그대로의 음원을 그대로 출력하게 되고 이 경우를 비트 퍼펙트(Bit Perfect)라고 합니다.
그럼 WASAPI Exclusived(단독) 모드는 어떻게 사용해야 할까요?
WASAPI Exclusived(단독) 모드는 오로지 앱의 내부에서 호출할 때만 사용할 수 있습니다.
즉, 음악 또는 사운드를 출력해주는 앱 자체에서 호출하지 않으면 사용할 수 없다는 의미입니다.
현재 윈도우즈에서 WASAPI Exclusived(단독) 모드를 사용하는 사운드 또는 음악 플렛폼 앱은 다음과 같습니다.
스트리밍 플렛폼 (외부 플레이어 연동)
TIDAL(타이달)
Qobuz(코부즈)
플레이어
foobar2000
JRiver Media Center(유료)
AIMP
MusicBee
Roon(유료)
Audirvana(유료)
여기서 AIMP와 MusicBee는 단순히 WASAPI Exclusived(단독) 모드로 설정만 가능할 뿐, 그 외의 설정(예를 들어서 dsd(Direct Stream Digital)에 대한 설정)은 할 수 없기에 추천하지 않습니다.
결론
스트리밍이 목적이라면 모바일 기기(iOS, 안드로이드)를 이용하시는 것이 좋습니다.
타이달이나 코부즈는 WASAPI Exclusived(단독) 모드를 지원하지만, 국내 서비스를 하지 않기에 추천하지 않습니다.
만일 다운로드된 파일을 플레이 하는 것이라면 foobar2000를 이용하면 완벽하게 WASAPI Exclusived(단독) 모드를 사용해서 완벽한 플레이가 가능합니다.
PC(윈도우즈)에서 비트퍼펙트를 구현하기 위한 방법으로 VB-Cable(가상 케이블)을 이용하는 방법 등을 최신 AI(chatGPT 등등)이 제시하긴 합니다만 결론은 '불가능'입니다.
왜냐면 가상 케이블 조차도 소스 입력 단에서 오디오 엔진을 거치기 때문에 출력을 WASAPI Exclusived(단독) 모드로 해도 아무런 소용이 없습니다.
해당 소프트웨어만 오디오 출력이 되고
다른 소프트웨어들의 소리는 전혀 출력이 안되는 거죠?
순수하게 그 소프트웨어의 음악을 듣는 용도로만 PC를 사용해야 하는...
맥OS의 CORE AUDIO 드라이버가 운영체제 자체 볼륨조절믹서를 거치고 있는데 맥에서는 그걸 피할수가 없게 되어있고요.
어렴풋이 알고 있던 내용들이 정리가 되어 좋습니다 ㅎ
와사피가 출현하던 시절(2010년대) 윈도우 진영 PC 오디오 음질이 애플이나 리눅스 계열보다 떨어지기에
리눅스 뮤직서버로 네트워크 플레이 하던게 오디오쟁이 사이에서 대유행하기 시작했고
지금도 대세는 리눅스 기반 네트워크 플레이가 대세가 된지 오래입니다.
제 경우, 안드로이드와 애플기기는 렌더러(Render)로,
PC는 음원저장과 사운드 프로세서로, 역할을 분담하고 있습니다.
그리고 그 중심엔 Roon이 있습니다.
그런데 음원은 음악 뿐만 아니라 영상까지 같이 보는 것이 더 좋다보니 음질을 손해보더라도 유튜브 보다 좋은 대안이 없네요.