프로그램이야기

[foobar] foobar2000을 이용한 WASAPI, ASIO 출력

미나리나물 2012. 2. 3. 09:57

여기에선 foobar2000으로 WASAPI, ASIO 출력하는 방법을 소개한다.

둘 다 단독모드 출력인 만큼  재생시에 다른 모든 오디오출력은 허용되지 않는다.

 

WASAPI 출력을 위해선 아래와 같이 스피커 속성에서 단독 모드 사용이 허용되어 있어야한다.

 

 

 

다음은 WASAPI와 ASIO출력에 대해 foobar 홈페이지에 게시된 내용이다.

 

 

 

관련 링크를 통해 두 컴포넌트를 받아 foobar가 설치된 폴더의 components 폴더에 다음과 같이 압축을 풀어서 복사한다.

 

 

 

 그 다음 foobar를 실행하고 Preferences에 들어가면 WASAPI 출력이 추가된 것을 확인할 수 있다.

 

 

 Output data format 은 스피커 속성에서 설정한 bit와 같게 놓는다. ( 왠만하면 32 bit 보다 아래로 잡도록 하는게 좋다. )

 

 

이것으로 WASAPI 출력을 위한 설정은 끝이고, 다음은 ASIO 출력 설정이 남았다.

 

ASIO 출력을 위해 ASIO4ALL을 설치하고 Output - ASIO Virtual Devices에서 Add New를 클릭한다.

 

 

 

그 다음 Configure를 클릭하여 ASIO 출력을 시킬 사운드 카드를 선택하고 OK를 눌러 설정을 저장한다.

 

 

 

Envy24 Family Audio Controller 의 설정화면 : 일반적인 Hardware Buffer 사용 >

 

 

 

 

 

 

< Realtek High Definition Audio 의 설정화면 : WaveRT 출력을 지원한다. 음악이 지지직거릴 경우 버퍼를 충분히 주도록 한다.  >

Status : Active - Event Mode ( Pull ) 와 Polling Mode ( Push )

 

 

 

 

 

 

 이제 다시 Preferences에 들어가면 Output에 ASIO 출력이 추가된 것을 확인할 수 있다.

 

 

 

제대로 설정이 완료되었다면 ASIO 출력시 아래 작업표시줄에 ASIO4ALL 프로그램이 보인다.

 

 

 

 

 

< 추가 정보 >

 

1. Playback error 발생시 조치

 

 

 

  a. 단독모드 비허용시

 

  단독 모드를 허용해주지 않으면 WASAPI 출력이 불가하므로 에러 메세지를 출력한다. 

 

  b. 출력 형식이 맞지 않을때

 

  만약 다음의 MP3 소스를 재생시키려 하고 스피커 속성이 아래와 같다면, 샘플링 주파수가 일치하지 않아서 에러가 발생한다.

  ( 정확히 말하자면 기본 형식에 44100Hz가 지원됐다면 상관없지만, 테스트한 사운드카드는 48000Hz만 출력이 가능하기 때문에 발생한 에러이다. )

 

 

 

 

이럴 경우 매 소스마다 설정을 일일이 변경하는건 귀찮기 때문에, Resampler를 이용하여 샘플링 주파수를 일치시켜 해결 할 수 있다..

 

 

 

 

 2. 컴포넌트 설치 ( 정석적인 방법 )

 

 

Preferences - Components 에 들어간 후, Install을 클릭한다.

 

 

 

다운받은 foo_out_wasapi.zip, foo_out_asio.zip 파일을 선택하고 OK를 클릭한다.

 

 

 

확인을 클릭하면 foobar가 다시시작 하고, 컴포넌트가 설치된다.

 

 

 

컴포넌트 설치 완료

 

 

 

 

< 관련 링크 >

 foobar2000                                            
http://www.foobar2000.org/

 foobar2000, ASIO support                        http://www.foobar2000.org/components/view/foo_out_asio

 foobar2000, WASAPI output support         http://www.foobar2000.org/components/view/foo_out_wasapi

 ASIO4ALL                                              http://www.asio4all.com/