Showing posts with label Driver. Show all posts
Showing posts with label Driver. Show all posts

Thursday, 12 April 2012

ASIO vs WDM/KS drivers

ASIO (Audio Stream Input/Output) is a computer sound card driver protocol for digital audio specified by Steinberg, providing a low-latency and high fidelity interface between a software application and a computer's sound card. Whereas Microsoft’s DirectSound is commonly used as an intermediary signal path for non-professional users, ASIO allows musicians and sound engineers to access external hardware directly.

WDM/KS (Windows Driver Model/Kernel Streaming) drivers bypass Microsoft's kernel mixer (which is normally used to mix the outputs from multiple audio applications into one stereo stream), this option can provide very low latency.  WDM is Windows native and even an on-board soundchip should support KS well enough.

In principle, WDM/KS is just as good as ASIO, but it has to be a WDM driver to work properly. Many interfaces have WDM drivers with ASIO, the WDM driver spec allows other program interface standards to be added on without limitations. "ASIO4ALL", a free program that adds ASIO to a WDM only driver, uses KS to get in. Using ASIO4ALL is therefore just the same as using WDM/KS.

Here's some Pros for WDM/KS...

  • The host can adjust the latency - you don't have to go into the driver control panel.
  • Different WDM drivers from different makes of interfaces can be used to get more channels. With ASIO, only one driver can be used at a time.
  • Low latency is available even with cheap sound hardware that has no ASIO driver.

And the Cons...
  • WDM/KS cannot work if something else is already using the WDM driver - Some Mediaplayers and Codecs keep the driver in use even when they are not open!
  • Once Kernal Streaming is in use, nothing else can use the WDM driver. Sonar has an option to release the driver when it's not running so you can temporarily use some other audio program that needs the audio hardware without first closing Sonar.