HOW TO...Setup Foobar2000 to use WASAPI
Thought I'd see what I could do with my current PC setup to improve sound quality without spending any money. My setup is....
MS Vista Service Pack 1.
Creative Sound Blaster Xfi Extreme Gamer.
Beresford TC-7510 DAC.
Grado SR80 Headphones.
Foobar2000, WinAmp, WMP
What I wanted to do was bypass the audio processing performed by windows to ensure that a bit perfect audio stream arrived at my DAC. I knew of a couple of ways to do this.....ASIO and Kernel Streaming
I gave ASIO a whirl and downloaded the plugins for Foobar2000 and WinAmp. With FooBar2000 I experienced modest improvements in sound quality. I couldn't get ASIO working with WinAmp.
OK, but I wanted more.
So I took a look at Kernel Streaming and stumbled across Windows Audio Session API (WASAPI). WASAPI is a new feature for Vista and allows playback of an unaltered bitstream without passing it through the Windows Mixer. I just so happens that a new plugin has been released for Foobar2000 to use this API (Application Programming Interface).
This was simple to configure (see instructions below) and has provided me with a worthwhile audio improvement. I suspect that much of this has been gained from actually releasing the full potential of the DAC as much as anything else.
Anyway, I thought it was worth making others aware of my findings and provide instructions detailing how to go about it.
I haven't managed to find a WASAPI plugin for WinAmp.
To read more about WASAPI in Foobar2000 see this.
To read more about WASAPI in Vista see this.
Go to the Foobar2000 components page here and click the link for WASAPI output support
or click this link to download the zip file directly.
The following dialog is displayed.
Click Save and save the zip file to your hard drive.
Just to be safe, scan the zip for viruses then, assuming it is virus free, extract the files.
Copy the file foo_out_wasapi.dll into your Foobar2000 component folder. Mine can be found at Crogram Filesfoobar2000components.
Open Foobar2000 and select File | Preferences and the Preferences window opens. Select the Components node in the tree to check that WASAPI output support is available.
Expand Playback and click Output
Select the appropriate WASAPI device in the Output Device drop down list.
For me, this is the WASAPI SPDIF Out (Creative SB Xfi).
Then click Save All.
Some people have experienced problems with choppy playback. There is a fix. Simply reduce the Buffer Length (see previous image). Some posters on other sites have reduced the buffer length to as low as 250ms.
EDIT: I have also set my X-fi soundcard, using the latest Creative Console Launcher, to accept an audio stream of 44.1kHz, thereby eliminating any upsampling of the signal on my PC.
Apart from the improved sound quality, you will know that this has worked because the volume slider in the task tray has no effect on volume levels during playback. Moreover, a delay has been introduced in the volume slider in Foobar.