ASIO Audio Interface

From Audacity Wiki
Revision as of 19:33, 21 June 2010 by Galeandrews (talk | contribs) (Update CVS > SVN and for Windows DirectSound, and fix broken Steinberg links)
Jump to: navigation, search
The proprietary ASIO interface standard is essential for low latency recording and playback, especially on Windows, and is usually the best way of making multi-channel recordings. Licensing restrictions prevent us including ASIO support in released versions of Audacity, but Audacity Beta can be compiled with ASIO support for private, non-distributable use. This page summarises the licensing issues and the compilation steps required.
Related article(s):

Quick Description

ASIO is a proprietary audio interface standard which bypasses the operating system's mixing kernel, so providing low latency direct communication between computer audio software and hardware, and allowing multiple audio inputs and outputs to be accessed independently.

Audacity and ASIO

The ASIO technology was developed by German company Steinberg and is protected by a licensing agreement which prevents redistribution of its source code.

Audacity, as an open source program licensed under the GPL, is therefore currently unable to support ASIO, despite being ASIO-capable (providing the user's sound device is similarly capable). If ASIO support was distributed in Audacity builds this would either violate Steinberg's licence agreement if the code was included, or conversely would violate Audacity's GPL Licence if the code was withheld. There are persistent rumours of Steinberg opening up licensing, but without any apparent movement. Anyone who cares about this issue is invited to make their views known to Steinberg via their Contact page.

Non-distributable ASIO support in Audacity 1.3.3 and later

With the 1.3.3 release of Audacity, support for ASIO under Windows is now included for individuals who are prepared to compile Audacity from source code with the optional Steinberg ASIO SDK. This support is provided strictly on the basis that it is NON-DISTRIBUTABLE i.e. you may NOT copy or distribute builds including ASIO support to any third parties. The build is strictly for your own personal (private or commercial) use. For the same reasons, Audacity can NOT distribute pre-compiled versions of Audacity including ASIO support, so please don't ask!

To compile Audacity from the Beta source code including ASIO support:

  1. Download the Audacity Beta source code from either the release tarball or latest SVN development code (SVN sources are much more likely to build trouble free on Windows)
  2. Download and install the ASIO SDK (a Steinberg account is required)
  3. Follow the Windows instructions in win/compile.txt in our source code to download and build wxWidgets and Audacity (for Mac, the best instructions are online at Developing On Mac)

Audacity Releases for Windows from 1.3.7 onwards include support for Microsoft's DirectSound interface protocol. This will give support for multi-channel recording on some sound devices, but not the very low latencies that are possible on ASIO. Anyone can distribute Audacity with DirectSound support since no proprietary code is included (the library is merely loaded at runtime).