Audio Stream Input/Output
{{short description|Computer sound card driver protocol}}
{{other uses|Asio (disambiguation)}}
{{Multiple issues|
{{Update|date=December 2018}}
{{Refimprove|date=September 2014}}
}}
{{Use dmy dates|date=December 2014}}
{{Infobox software
| name = ASIO
| logo = Asio logo.png
| logo_size =
| screenshot =
| screenshot_size =
| caption =
| developer = Steinberg
| latest release version = 1.0.7
| latest release date = {{Start date and age|2024|03|18}}
| operating system = Microsoft Windows 10, 11
| genre = API
| license = Proprietary
| website = {{URL|https://www.steinberg.net/developers}}
}}
Audio Stream Input/Output (ASIO) is a computer audio interface driver protocol for digital audio specified by Steinberg, providing high data throughput, synchronization, and low latency between a software application and a computer's audio interface or sound card.{{Cite web |date=2016-06-20 |title=ASIO ? What is it? |url=https://forums.steinberg.net/t/asio-what-is-it/201552?u=johnny_moneto |access-date=2024-09-11 |website=Steinberg Forums |language=en}}
ASIO was initially released in 1997 in order to enable streaming of one or more audio streams from an (multi-input/output) audio interface to a software and vice versa with minimal latency and sample accurate synchronization of the audio streams. It allows the audio streams to use any sample rate and supports bit resolutions of 16, 24, 32 bit integer and 32 or 64 bit floating point.{{Cite web |date=2016-06-20 |title=ASIO ? What is it? |url=https://forums.steinberg.net/t/asio-what-is-it/201552 |access-date=2024-09-11 |website=Steinberg Forums |language=en}}
The release of ASIO 2.0 in 1999 brought further enhancements such as ASIO Direct Monitoring, where an audio signal is monitored directly from the audio interface with basically zero latency, and ASIO Positioning Protocol, used to sample accurately synchronize a computer to other digital machines such as ADAT recorder or also other computers.{{Cite web |title=Steinberg Cubase VST 3.7 |url=https://www.soundonsound.com/reviews/steinberg-cubase-vst-37#para5 |access-date=2024-09-11 |website=www.soundonsound.com}}
ASIO 2.3 introduced monitoring for dropouts in the audio stream.ASIO SDK 2.3.pdf, as part of the ASIO SDK.
ASIO bypasses the normal audio path from a user application through layers of intermediary 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.
Operating systems
Currently only Microsoft Windows (AMD/Intel x86-64) is supported by the ASIO SDK. Microsoft announced to incorporate ASIO into their USB Audio Class 2 driver for their Arm64 architecture.{{Cite web |last=Brown |first=Pete |date=2024-10-21 |title=Make Great Music with Windows on Arm |url=https://devblogs.microsoft.com/windows-music-dev/making-music-on-windows/#announcing:-new-low-latency-in-box-usb-audio-class-2-driver-with-asio-interface-on-arm64 |access-date=2024-10-22 |website=Windows MIDI and Music dev |language=en-US}}
While originally supporting MacOS, the introduction of Core Audio with macOS X made ASIO support for this OS unnecessary.
There is also an experimental ASIO driver for Wine, WineASIO,{{Cite web |url=https://www.wineasio.org/ |title=WineASIO website |access-date=1 March 2020 |archive-date=1 March 2020 |archive-url=https://web.archive.org/web/20200301201845/https://www.wineasio.org/ |url-status=dead }} for a Windows compatibility layer for Linux.{{Cite journal |last=Mielewczik |first=Michael |date=2008 |title=Renoise für Linux. Musikproduktion im Retro-Stil. |journal=LinuxLife |language=German |volume=5/2008 |pages=69–72 |via=}} 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.
Licensing
The license to use the ASIO software development kit (SDK) and to distribute an ASIO driver is free of charge. Yet an SDK license agreement has to be signed.Steinberg ASIO SDK Licensing Agreement Version 2.0.3, PDF available as part of the ASIO SDK.
Distribution of the source code is not allowed. For example, the user manual of the Audacity audio editor states: "Licensing restrictions prevent us including ASIO support in released versions of Audacity, but Audacity can be compiled with ASIO support for private, non-distributable use."{{cite web |url=https://manual.audacityteam.org/man/asio_audio_interface.html|title=ASIO Audio Interface |date=2008|access-date=2019-12-02}}
See also
- JUCE, an open-source C++ toolkit that includes support for ASIO audio devices.
- JACK Audio Connection Kit, a similar system primarily for Linux.
References
{{Reflist}}
External links
- [https://www.steinberg.net/developers/ Steinberg third-party developers support site] where the ASIO SDK can be downloaded
{{DEFAULTSORT:Audio Stream Input Output}}