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.



5 comments:

  1. Thanks for the info! I recently started recording some guitar in Sonar X1 and writing drum tracks and I ran into some related issues.

    First of all, I was using ASIO drivers. The issue was that Sonar would only allow me to use ONE driver at any given time. So if I wanted to record guitar, I would have to select the drivers for my guitar recording device (Podxt) and then plug the speakers into the output of the Pod so I could hear myself. The problem was, the Pod isn't good at making a lot of sounds, so everything besides the guitar sounded like crap (no base whatsoever, so the drums sounded terrible). To hear everything correctly, I'd have to record the guitar using the Pod drivers, and then switch both the speakers and drivers over to the sound card. Ugh. I started messing around with driver settings and stumbled upon the fact that WDM/KS allows me to use both audio drivers at once! Now I just need a second set of speakers so I can hear everything.
    It seems that almost anyone recording music would need multiple sound drivers. Why did ASIO do this?

    ReplyDelete
  2. Hi ,i have a dac musiland 01 us , and it software has options ASIO and WDM ,but i dont have to set to ASIO .
    Have would a better sound to my Flac files at ASIO mode ?
    Sorry for my english ....

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thank you for web writing your experience and sharing your research. Helped me understanding my probs with Surface 3 + NI Traktor Audio2 MK2. ASIO gives dopouts, not matter what I do. WDM works perfect, no matter which apps running.

    ReplyDelete