A complete guide to Foobar 2000


Output Settings

Now select the Output tab.

Output method. Several output modes are available (depending on components installed). The mode to select will depend mostly on your Audio device. waveOut, DirectSound & DirectSound v 2.0 are safe choices that should work with any Audio device.

Where supported, you may find that Kernel Streaming (What it is -Windows 2000+) or ASIO provide best output. Both function by working more directly with the Audio device, bypassing certain Windows components (KMixer) that can lead to reduced quality. ASIO support can be determined simply enough as your Audio device’s ASIO Driver, listed in the ASIO tab’s Device menu. If not, Kernel Streaming is an alternative.

That said, both can be rather tricky to get functioning at times and you may need to adjust certain other options (such as Output data format) to get them to work, e.g. using an Audigy 2 ZS, Kernel Streaming functioned fine with 48000, 96000Hz resampling and 24bit fixed-point padded to 32-bit output. Conversely, ASIO output only functioned with 48000 resampling and 16bit fixed-point output. Otherwise the console displayed the following error message:

ERROR (foo_output_asio(dll)) : unsupported output data format.

As regards ASIO at least you can determine the sampling rates available by downloading the ASIO caps utility. Simply load the ASIOcaps file, choose the ASIO device and select the Caps (Output) button.

As you can see, 48000Hz is the only sampling rate supported by the Creative ASIO device.

That said, if your Soundcard resamples anyway (e.g. AC97 soundcards) then there’s generally not much reason to try using these as you may be increasing CPU use with no noticeable quality improvement.

Once you’ve selected your mode, skip onto the appropriate section beneath.



Device. From the drop-down menu select the Audio device you wish to use for audio playback in Foobar 2000, which may be relevant if you have more than one device installed.

Thread priority. This slider determines thread priority level for ASIO output. Leave this at the default value of Normal unless you are experiencing choppy output, in which case using a higher priority might resolve the playback problems.

Buffer size. This determines the length of data to buffer. This can help avoid any playback skipping when working with other processes. Higher buffering can also lead to increased memory use as well however, as well as increased delay in certain processes being applied, e.g. changing volume takes longer to apply. For best performance and minimum delay you should set this as low as you reasonably can without noticing any playback issues. Personally I’ve had no difficultly using this at the default of 7.

Shift Output channels. If you’re using a multi-channel Soundcard increasing this value allows you to change which channels the audio is outputted to. Setting this to 0 (default), outputs audio to the front left/right channels. You shouldn’t need to alter this.


Go to next page

Get weekly updates on new
articles, news and contests
in your mail!