Audio Stream Input/Output
|This article does not cite any references or sources. (February 2011)|
Audio Stream Input/Output (ASIO) 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.
ASIO bypasses the normal audio path from a user application through layers of intermediary Windows operating system software so that an application connects directly to the sound card hardware. Each layer that is bypassed means a reduction in latency (the delay between an application sending audio information and it being reproduced by the sound card, or input signals from the sound card being available to the application). In this way ASIO offers a relatively simple way of accessing multiple audio inputs and outputs independently. Its main strength lies in its method of bypassing the inherently high latency and poor-quality mixing and sample rate conversion of Windows NT 5.x audio mixing kernels (KMixer), allowing direct, high speed communication with audio hardware. Unlike KMixer, an unmixed ASIO output is "bit identical" or "bit perfect"; that is, the bits sent to or received from the audio interface are identical to those of the original source, thus potentially providing higher audio fidelity. In addition, ASIO supports 24-bit samples, unlike Windows NT 5.x MME and DirectSound which truncate 24-bit samples to the upper 16 bits, whereas Windows NT 6.x mixer provides 32-bit floating point output. Higher bit-depth samples offer the potential for a higher signal-to-noise ratio.
As of 2007 there is also an experimental ASIO driver for Wine, a Windows compatibility layer for Linux. This wineasio driver uses the JACK sound server as its audio back-end and allows many ASIO-aware applications to run with low latency under WINE.
- Juce — an open-source C++ toolkit that includes support for ASIO audio devices.