The Audio Stream Input/Output (ASIO) architecture is a proprietary protocol developed by Steinberg. Steinberg has been a wholly owned subsidiary of Yamaha since 2005.
ASIO is a low latency, high performance protocol aimed at the recording environment.
It does so by talking straight to the audio device, bypassing the audio stack of the operating system.
As operating systems requires all streams to run at the same sample rate, having a exclusive lock on a audio device allows for automatic sample rate switching.
As operating systems mix, they convert to float, mix, dither and convert back to integer, using ASIO also avoids this conversion.
Basically using ASIO avoids any possible degradation of the audio by the operating system.
ASIO only works if your audio interface (DAC and/or ADC) support it.
This means the manufacturer must implement it in the hardware and has to make a couple of design decisions.
Some ASIO implementations do support multiple clients.
This means you can play more than one stream at the time.
This involves mixing.
Mixing is done in general by converting to float, mix, dither and convert back to integer.
Makes me wonder if these type of implementations are bit perfect even when a single stream is playing.
Obvious as there a different implementations by manufacturers, ASIO might work in a different way.
If your audio interface don’t support ASIO, you can’t use it even if your media player supports the ASIO protocol.
However, if you are able to bypass the operating system audio stack, you can create a behavior similar to ASIO.
Probably the oldest and most famous.
It is a wrapper using Kernel Streaming.
Certainly at the time of XP, it was a popular trick to avoid the K-mixer.
ASIO2KS (2010) is a generic ASIO driver for WDM kernel-streaming compliant soundcards on Windows 2000 and XP platforms.
An ASIO driver for Windows Vista or higher. It provides a translation layer between Steinberg ASIO protocol and Windows' native low-level audio API (WASAPI).
Latest update is 2017.
FlexASIO differentiates itself by using an intermediate library called PortAudio that itself supports a large number of operating system sound APIs, which includes Kernel Streaming and WASAPI (in shared and exclusive mode), but also the more mundane APIs MME and DirectSound. Thus FlexASIO can be used to interface with any sound API available on a Windows system.
Microsofts own low latency protocol.
When used in Exclusive mode, the Win audio stack is bypassed.