WASAPI 독점 모드에서 고해상도 재생하는 방법

Windows에서 고음질의 고해상도 재생하고 싶다고 생각하는 사람도 적지 않을까 생각합니다. 그러나 오디오 API 중에는 음질을 변화시켜 열화해 버리는 것도 있어, 무슨 일인지 고민하고 있는 사람도 있는 것은 아닐까요.
Windows Vista SP1 이후의 버전이라고 하면, 오디오 API로서 WASAPI라고 하는 것이 표준으로 탑재되고 있으므로, 그것을 이용해 음질을 향상시키는 방법의 설명을 해 갑니다.
WASAPI란?
우선은 WASAPI란 무엇인가, 라는 것의 설명에서 갑니다. WASAPI는 “와사피”라고 읽고 Windows Audio Session API의 약칭입니다. WindowsOS가 서포트하고 있는 일도 있어 수속만 밟으면 곧바로 이용할 수 있습니다.
독점 모드와 공유 모드가 있습니다.
덧붙여 이 WASAPI에는 배타 모드와 공유 모드가 있습니다.일반적으로 Windows에서는 공유 모드로 작동하며 다양한 앱에서커널 믹서를 통해 하나의 출력처(스피커나 이어폰)에 음성이 출력됩니다.
WASAPI의 공유 모드는 다른 앱과 하나의 출력 대상을 공유하는 모드이지만, 그와 달리 배타 모드는커널 믹서를 통하지 않고 하나의 출력 대상에 하나의 애플리케이션 만 사용하는 모드입니다.

커널 믹서를 통해 다양한 앱의 사운드를 노이즈를 발생시키지 않도록 조정한 후 출력해 줍니다만, 그 때문에 음질이 떨어집니다.
반대로, WASAPI의 배타 모드는 공유 모드와 달리 커널 믹서를 개입시키지 않기 때문에, 열화가 적은 사운드로의 재생이 가능해, 고해상도등의 고음질의 사운드를 이용할 수 있습니다.
ASIO와의 차이
또한 오디오 API에는 ASIO (Audio Stream Input Output)라는 것이 있습니다. 현재는 YAMAHA의 자회사가 되고 있는 독일의 Steinberg사가 책정한 드라이버 규격으로, 업계의 표준 수준이 되고 있는 일도 많습니다.
ASIO는 WASAPI와 달리 원래 커널 믹서를 통하지 않는 오디오 API입니다.
하이레조가 인기가 되고 있는 지금, 이 ASIO에 대응하고 있는 기종도 많지만, WASAPI와 달리 사운드 드라이버에 해당하기 위해,대응 기종이 아니면 사용할 수 없습니다.
ASIO는 WASAPI와 달리 지연 등도 일어나기 어렵습니다만, 대응하고 있는 물건이 적기 때문에, 이용할 때는 그 대응 기종인지의 확인이 필요합니다.
고해상도 재생을 위한 초기 설정
그러면 Windows에서 WASAPI의 배타 모드를 이용하여 고해상도 재생하기 위해서는 초기 설정이 필요합니다. WASAPI의 독점 모드 설정이 필요하므로 먼저 그 방법을 설명합니다.

WASAPI의 배타 모드를 이용하고 싶은 경우의 설정입니다만, 우선은 Windows10의 설정을 열어 주세요.

시스템을 클릭합니다.

“사운드”를 클릭하십시오.

아래로 스크롤하여 “사운드 제어판”을 클릭하십시오.

사운드 설정 화면이 열리므로 “재생” 탭이 열려 있는지 확인하고 기본 장치(일반적으로 사용하는 장치)를 찾아 선택합니다.

“속성”을 클릭하십시오.

스피커 속성이 열립니다. 고급 탭을 클릭합니다.

기본 형식의 드롭다운 목록을 클릭합니다.

「샘플 레이트와 비트의 깊이」를,가장 고품질의 것하십시오. 위의 경우에는 “24비트, 96000Hz(스튜디오 음질)”를 선택합니다.

또, 배타 모드로의 이용을 하기 위해, 「어플리케이션에 의해 이 디바이스를 배타적으로 제어할 수 있도록 한다」라고 「배타 모드의 어플리케이션을 우선한다」에 체크를 둡시다.

완료되면 확인을 클릭합니다. 이것으로 WASAPI 배타 모드를 이용하기 위한 초기 설정 완료입니다.
고음질화하는 설정 방법
그러면 Windows10에서 WASAPI 배타 모드를 이용하여 고음질화하는 설정 방법의 다음 설명으로 이동합니다. WASAPI 배타 모드에서 사운드의 고음질화를 실현하기 위해서는 「foobar2000」의 도입이 필요합니다.
foobar2000에서 WASAPI를 사용하여 고음질화하는 단계
「foobar2000」을 도입하기 위해서는, 우선은 아래와 같이 링크처에 액세스해 주세요.
Download foobar2000

Latest stable version의 것을 다운로드합시다.그 아래는 베타 버전이므로 사용할 수 없지만 가능하면stable 쪽 다운로드하십시오.

다운로드한 “foobar2000” 설치 프로그램을 시작합니다.

설치 프로그램이 시작됩니다. 다음을 클릭하십시오.

foobar2000의 사용권 계약에 동의하십시오. I Agree를 클릭합니다.

설치 유형은 “Standard Installation”에서 괜찮습니다. “Next”를 클릭하면 사용자 계정 제어 화면이 표시되므로 “예”를 클릭하십시오.

설치할 위치의 확인 화면이 됩니다. 그대로 문제 없기 때문에 “Next”를 클릭합시다.

foobar2000 바로 가기 만들기와 같은 선택 화면이 표시됩니다. 여기에 관해서도 모두 선택(FULL)으로 OK입니다. “Install”을 클릭합시다.

foobar2000 설치가 완료되면 “마침”을 클릭하여 foobar2000을 시작하십시오.

WASAPI의 독점 모드를 사용하려면 추가 설정 설치가 필요합니다.하기 링크처에 액세스해, WASAPI 배타 모드 이용을 위해WASAPI output support의 최신 버전을 클릭하십시오.
foobar2000: Components Repository

다운로드를 클릭하여 파일을 다운로드합니다.

다운로드한 WASAPI output support를 더블 클릭하여 열면 foobar2000이 자동으로 열리고 위와 같이 메모가 표시됩니다.

이것은 「이 패키지의 입수 사이트를 신뢰할 수 있을지 어떨지」라고 하는 내용입니다. 예를 클릭합니다.

주의 화면이 닫히면 자동으로 foobar2000의 컴포넌트 화면이 열려 있기 때문에 거기에 “unknown-please apply changes to load”라는 굵게 표시된 항목이 있는지 확인하십시오.

적용을 클릭하여 활성화합니다.

foobar2000의 재부팅을 묻는 화면이 표시됩니다.

foobar2000이 다시 시작되면 File → Preferences를 엽니다.

Components를 열면 이전과 달리 WASAPI output support가 추가되었음을 확인할 수 있습니다. 이렇게 되어 있으면 OK입니다.

사용 설정 설명으로 이동합니다. 왼쪽의 메뉴에서 “Playback”의 “Output”을 선택하고 재생 장치를 선택합니다.

Device 부분의 드롭다운 목록을 클릭합니다.

WASAPI에는 “WASAPI(event)”와 “WASAPI(push)”의 두 가지가 있습니다. push도 event도 크게 차이는 없는 것 같습니다만, CPU에 부하가 걸리기 어려운 것은 push보다 event와 같습니다.
그 때문에, 기본적으로는 event를 선택해 두면 좋을 것입니다. 덧붙여 push를 선택해서는 안된다는 것도 아닙니다.
CPU에 부하가 걸리지 않는다면 event 쪽이 음질에 악영향을 미칠 가능성이 적다고 여겨지지만, 이용하고 있는 사람에 따라서는 event보다 push 쪽이 좋다고 느낄 수도 있습니다.
event로 할지 push로 할지는 감각의 문제도 있고, push라면 소리가 없기 때문에 event로 하는 형태로 하기도 하기 때문에,둘 다 사용해보십시오.시도해보십시오.
마지막으로
WASAPI의 독점 모드를 사용하면 고해상도 재생을 통해 고음질 사운드를들을 수 있습니다..
WASAPI의 배타 모드로 고음질화하려면 재생 소프트웨어인 foobar2000을 이용하여 컴포넌트를 추가하는 것으로 설정할 수 있으므로 WASAPI의 배타 모드를 이용하고 싶은 사람은 해설한 내용을 참고로 설정해 봐 제발.