Difference between revisions of "ASIO Audio Interface"

From Audacity Wiki
Jump to: navigation, search
(Update CVS > SVN and for Windows DirectSound, and fix broken Steinberg links)
(add a pointer about defining the ASIOSDK_DIR environment variable on Windows and point to JACK for Linux)
Line 1: Line 1:
{{Introrel|The proprietary [http://en.wikipedia.org/wiki/Audio_Stream_Input/Output ASIO] interface standard is essential for low [http://en.wikipedia.org/wiki/Latency_(audio) latency] recording and playback, especially on Windows, and is usually the best way of making [[Multichannel Recording|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.||All our [[Recording Tips]]
+
{{Introrel|The proprietary [http://en.wikipedia.org/wiki/Audio_Stream_Input/Output ASIO] interface standard is essential on Windows (and to a lesser extent on Mac) for low [http://en.wikipedia.org/wiki/Latency_(audio) latency] recording and playback. It is usually the best way of making [[Multichannel Recording|multi-channel recordings]] on those platforms.|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 ASIO licensing issues and steps to compile Audacity with ASIO support.|All our [[Recording Tips]]
 
*Other [[:Category:Digital Audio Technology|Digital Audio Technology]]}}
 
*Other [[:Category:Digital Audio Technology|Digital Audio Technology]]}}
  
Line 8: Line 8:
 
==Quick Description==
 
==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.   
+
ASIO is a proprietary audio interface standard in use on Windows and Mac 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.   
 +
 
 +
On Linux, [http://jackaudio.org/ JACK] is an API that provides both low latency audio communication and audio routing between applications. Latest versions of Audacity Beta support JACK fairly well, but with some [http://wiki.audacityteam.org/wiki/Linux_Issues#JACK limitations].
  
  
Line 26: Line 28:
 
# Download the Audacity Beta [http://audacity.sourceforge.net/download/beta_source#recdown source code] from either the release tarball or latest SVN development code (SVN sources are much more likely to build trouble free on Windows)   
 
# Download the Audacity Beta [http://audacity.sourceforge.net/download/beta_source#recdown source code] from either the release tarball or latest SVN development code (SVN sources are much more likely to build trouble free on Windows)   
 
# Download and install the ASIO SDK (a [http://www.steinberg.net/en/company/developer.html Steinberg account] is required)
 
# Download and install the ASIO SDK (a [http://www.steinberg.net/en/company/developer.html Steinberg account] is required)
# Follow the Windows instructions in win/compile.txt in our source code to download and build [http://www.wxwidgets.org/ wxWidgets] and Audacity (for Mac, the best instructions are online at [[Developing On Mac]])
+
# Follow the Windows instructions in win/compile.txt in our source code or [http://audacity.googlecode.com/svn/audacity-src/trunk/win/compile.txt online] to download and build [http://www.wxwidgets.org/ wxWidgets], define the ASIOSDK_DIR environment variable to point to the ASIO SDK, then build Audacity. For Mac, the best instructions are online at [[Developing On Mac]].
  
 
{{Hint|Audacity Releases for Windows from 1.3.7 onwards include support for Microsoft's [http://en.wikipedia.org/wiki/DirectSound 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).}}  
 
{{Hint|Audacity Releases for Windows from 1.3.7 onwards include support for Microsoft's [http://en.wikipedia.org/wiki/DirectSound 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).}}  

Revision as of 12:13, 15 October 2010

The proprietary ASIO interface standard is essential on Windows (and to a lesser extent on Mac) for low latency recording and playback. It is usually the best way of making multi-channel recordings on those platforms.
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 ASIO licensing issues and steps to compile Audacity with ASIO support.
 
Related article(s):



Quick Description

ASIO is a proprietary audio interface standard in use on Windows and Mac 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.

On Linux, JACK is an API that provides both low latency audio communication and audio routing between applications. Latest versions of Audacity Beta support JACK fairly well, but with some limitations.


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 or online to download and build wxWidgets, define the ASIOSDK_DIR environment variable to point to the ASIO SDK, then build 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).