Jump to content

Audio Stream Input/Output: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Development: link to wineasio project
Development: Update link to ASIO SDK home
Line 15: Line 15:
== External links ==
== External links ==
===Development===
===Development===
* [http://www.steinberg.de/324_1.html ASIO SDK]
* [http://www.steinberg.net/en/company/3rd_party_developer.html Steinberg]'s [[Third-party_developer|third party developer]] site, home of the ASIO [[SDK]].
* [http://www.rigisystems.net/index_files/usbpal.htm USBPAL] — USB ASIO and third party [[Windows Driver Model|WDM]] multi-channel professional audio drivers and hardware DDK
* [http://www.rigisystems.net/index_files/usbpal.htm USBPAL] — USB ASIO and third party [[Windows Driver Model|WDM]] multi-channel professional audio drivers and hardware DDK.
* [[Juce]] — an open-source c++ toolkit that includes support for ASIO audio devices
* [[Juce]] — an open-source c++ toolkit that includes support for ASIO audio devices.
* [http://www.portaudio.com Portaudio] — an open-source c library for audio I/O that includes ASIO support
* [http://www.portaudio.com Portaudio] — an open-source c library for audio I/O that includes ASIO support.
* [http://www.codeproject.com/KB/audio-video/Asio_Net.aspx ASIO.NET] — Low latency audio using ASIO drivers in [[Microsoft .NET]].
* [http://www.codeproject.com/KB/audio-video/Asio_Net.aspx ASIO.NET] — Low latency audio using ASIO drivers in [[Microsoft .NET]].
* [http://github.com/mhroth/jasiohost/tree/master JAsioHost] - Low latency audio using ASIO drivers in [[Java (programming language)|Java]].
* [http://github.com/mhroth/jasiohost/tree/master JAsioHost] - Low latency audio using ASIO drivers in [[Java (programming language)|Java]].

Revision as of 20:03, 10 April 2010

ASIO logo

Audio Stream Input/Output (ASIO) is a computer soundcard 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 a stereo input and output for non-professional users, ASIO allows musicians and sound engineers to process their audio via Windows computer software instead of external hardware.

Overview

ASIO bypasses the normal audio path from the user application through layers of intermediary Windows operating system software, so that the application connects directly to the soundcard 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 soundcard, or input signals from the soundcard 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 of Windows audio mixing kernels (KMixer), allowing direct, high speed communication with audio hardware. Unlike KMixer, an unmixed ASIO output is "bit identical", that is, the bits sent to the soundcard are identical to those of the original source, thus having higher audio fidelity.

Operating systems

Interface support is normally restricted to Microsoft Windows, since other operating systems (e.g. Apple's Mac OS X or Linux) do not have such mixer latency problems (see Core Audio and ALSA). In Windows Vista, KMixer has been removed and replaced by 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 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.

References

Development

WDM to ASIO Drivers

  • ASIO4ALL — a free 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.
  • The kX Project — third party WDM audio drivers for EMU10K1 and EMU10K2-based sound cards (SoundBlaster Live! and SoundBlaster Audigy 1/2/4 cards)
  • ASIO2KS — yet another free universal ASIO driver for Windows. Project appears to have been abandoned.

Utilities and Plugins