Home Computer Audio Asylum

Music servers and other computer based digital audio technologies.

This picture may help

As you can see, there are multiple levels of abstraction in which a sound application can interface with the underlying hardware.

The oldest (and the one that almost all applications and sound cards support) is MME. As you can see, over the years, numerous layers have been added between MME and the hardware - the most notorious being the dreaded "kmixer".

Note that DirectSound ("DSound" in the diagram) has two signal paths, one that passes through kmixer (which is the "normal" interface) and one that doesn't (also called "kernel streaming mode"). There's a lot of confusion around kernel streaming mode - many people think it bypasses DirectSound but as you can see from the diagram, it doesn't - it's part of DirectSound.

ASIO is actually the most direct signal path between an application and the hardware. The ASIO specification was created by Steinberg because they wanted a low latency way of accessing the sound card hardware directly, without going through the gunk of additional layers that Microsoft imposes.

Note the above comment is only true for NATIVE ASIO drivers. Driver "shims" like ASIO4ALL and ASIO2KS simply provide an ASIO interface on top of DirectSound. In other words, you are not removing any layers but adding an extra layer on top.

PS - just in case anyone is wondering what "Open AL" is - it's new standard being proposed for audio hardware acceleration - this is of primary interest for computer gaming, not high quality audio.

Vista will make the picture even more complex - Vista adds a lot more additional layers (but it does have a new "talk directly to the hardmade mode" designed to address latency issues, but the jury is out in terms of how effective this is).


This post is made possible by the generous support of people like you and our sponsors:
  Schiit Audio  


Follow Ups Full Thread
Follow Ups


You can not post to an archived thread.