Bypassing Windows Mixer

From Hydrogenaudio Knowledgebase
Revision as of 20:37, 1 July 2008 by DEATH (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Impact on audio quality

Quality gains are questionable at least. In general, bypassing Windows Mixer doesn't really make sense unless the output is digitally captured and needs to be bit-exact for further editing.

How-to

foobar2000

Foobar2000 can bypass Windows Mixer using optional output components.

Winamp

Todo.

XMPlay

Todo.

Pros

  • Full control over what gets delivered to your soundcard drivers.
  • Full control over what gets delivered to your soundcard, but only when your configuration ensures preventing other software from playing sounds at the same time (e.g. by using WASAPI exclusive mode).

Cons

  • Forfeits advantages of modern Windows audio pipeline: audio stream formats that aren't natively supported by your audio hardware will fail to play. You're likely to get errors with:
    • Mono streams.
    • Multichannel streams on a soundcard with stereo output only.
    • Less common multichannel configurations.
    • Less common sample rates.

To workaround these issues, you'll have to use additional DSPs such as resampler or "convert mono to stereo" in foobar2000.

  • Interacting with soundcard drivers directly rather than letting Windows Mixer do it will often expose soundcard driver bugs that can't be triggered otherwise and lead to system-wide instability. There have been countless documented cases of stable otherwise soundcard drivers causing BSODs when using KS, ASIO or WASAPI. This happens because:
    • KS and WASAPI: while these output methods rely on the same driver code as playing sounds through Windows Mixer, various quirks such as buffer sizes are different; drivers tend to make unsafe assumptions that whoever is invoking them behaves exactly as Windows Mixer does; these drivers would also stop working correctly after OS updates that change these behaviors.
    • ASIO: many major hardware vendors release massively buggy ASIO drivers and suspend any work on their drivers as soon as they get some subset of ASIO software working with their product without obvious problem symptoms.

Alternate solutions

  • Windows Vista lets you control what data format gets sent to your soundcard so you can get rid of the resampling step without bypassing the mixer by setting mixer's output sample rate matching the sample rate of what you play (44100Hz for CD-sourced material).