Audio Stream Input/Output
|
|
This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. Please help to improve this article by introducing more precise citations. (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.
Contents |
[edit] Overview
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)[citation needed], 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.
[edit] Operating systems
Interface support is normally restricted to Microsoft Windows. Starting with Windows Vista, KMixer has been removed and replaced by WASAPI and a new WaveRT port driver. WaveRT cannot provide synchronized audio to multiple devices and does not support external clocks.[1]
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.
[edit] References
[edit] External links
[edit] Development
- Steinberg's third party developer site, home of the ASIO SDK.
- USBPAL — USB ASIO and third-party WDM and Mac OS X multi-channel pro audio drivers and hardware DDK.
- Juce — an open-source C++ toolkit that includes support for ASIO audio devices.
- Portaudio — an open-source C library for audio I/O that includes ASIO support.
- ASIO.NET — Low latency audio using ASIO drivers in Microsoft .NET.
- JAsioHost - Low latency audio using ASIO drivers in Java.
- wineasio project at SourceForge.
[edit] WDM to ASIO drivers
- ASIO4ALL — an independent universal ASIO driver for Windows that brings ASIO support to users of virtually all consumer-grade soundcards and integrated audio chipsets. It also supports semi-pro and pro digital audio systems.
- ASIO2KS — yet another independent universal ASIO driver for Windows. Project appears to have been abandoned.
[edit] Utilities and plugins
- ASIOTestSigGen — a simple, audio test signal generator utility to test ASIO setups
- MultiStream ASIO Player — an MP3 player for ASIO with a built-in test signal generator
- J. River Media Center — J. River Media Center natively supports playback where ASIO compliant hardware is present.
- (Japanese)Winamp plug-in — open-source ASIO output plug-in for Winamp.
- XMPlay plug-in — ASIO output plug-in for XMPlay
- foobar2000 plug-in — ASIO output plug-in for foobar2000
- ASIOWmpPlg plug-in — open-source ASIO output plug-in for Windows Media Player and Windows Media Center
