Audio Stream Input/Output

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

ASIO
DeveloperSteinberg
Stable release
1.0.7 / March 18, 2024; 2 years ago (2024-03-18)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemMicrosoft Windows 10, 11
    Platformx86-64, Arm64
    TypeAPI
    LicenseProprietary, GPLv3
    Websitewww.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.[1]

    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.

    History

    [edit | edit source]

    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.[2]

    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 close to 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.[3]

    ASIO 2.3 introduced monitoring for dropouts in the audio stream.[4]

    Operating systems

    [edit | edit source]

    Currently only Microsoft Windows is supported by the ASIO SDK, with support on Intel-based and ARM64 platforms.[5]

    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,[6] for a Windows compatibility layer for Linux.[7] 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.[7]

    Licensing

    [edit | edit source]

    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.[8]

    On October 15 2025 Steinberg announced that ASIO can be used under dual license terms adding GPLv3 as an open-source option.[9]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ ASIO SDK 2.3.pdf, as part of the ASIO SDK.
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Steinberg ASIO SDK Licensing Agreement Version 2.0.3, PDF available as part of the ASIO SDK.
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]