Difference between revisions of "ASIO Audio Interface"

From Audacity Wiki
Jump to: navigation, search
m (Non-distributable ASIO support in Audacity 1.3.3 and later)
(Excise "Beta", add link to "Compiling Audacity" board on Forum)
Line 1: Line 1:
{{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]]
+
{{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 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 10: Line 10:
 
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.   
 
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].  
+
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 support JACK fairly well, but with some [http://wiki.audacityteam.org/wiki/Linux_Issues#JACK limitations].  
  
  
Line 18: Line 18:
  
 
Audacity, as an open source program licensed under the [http://www.gnu.org/licenses/licenses.html#GPL GPL], is therefore currently unable to support ASIO, despite being ASIO-capable (providing the user's sound device is similarly capable). If ASIO support were distributed in Audacity builds this would either violate Steinberg's licence agreement if the code were included, or conversely would violate Audacity's GPL Licence if the code were 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 [http://www.steinberg.net/en/support/support_contact.html Contact page].
 
Audacity, as an open source program licensed under the [http://www.gnu.org/licenses/licenses.html#GPL GPL], is therefore currently unable to support ASIO, despite being ASIO-capable (providing the user's sound device is similarly capable). If ASIO support were distributed in Audacity builds this would either violate Steinberg's licence agreement if the code were included, or conversely would violate Audacity's GPL Licence if the code were 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 [http://www.steinberg.net/en/support/support_contact.html Contact page].
 +
  
 
==Non-distributable ASIO support in Audacity 1.3.3 and later==   
 
==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 builds of Audacity including ASIO support, so please don't ask!   
+
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''', that is, 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 builds of Audacity including ASIO support, so please don't ask!   
 +
 
 +
To compile Audacity from our source code including ASIO support:
  
To compile Audacity from the Beta source code including ASIO support:
+
# Download the Audacity [http://audacity.sourceforge.net/download/source source code] from either the release tarball or latest SVN development code (SVN sources are much more likely to build out-of-the box on Windows) 
 +
# Download and install the ASIO SDK (a [http://www.steinberg.net/en/company/developer.html Steinberg account] is required)
 +
# Follow the 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.
  
# 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.) 
+
If you need help, please ask on the [http://forum.audacityteam.org/viewforum.php?f=19 Compiling Audacity] board on the Audacity [http://forum.audacityteam.org/ Forum].  
# 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 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. To use it, select "Windows DirectSound" as host in Device Toolbar. 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).}}  
  
  
 
[[Category:Digital Audio Technology]][[Category:Tips]]
 
[[Category:Digital Audio Technology]][[Category:Tips]]

Revision as of 01:43, 5 April 2012

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 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 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 were distributed in Audacity builds this would either violate Steinberg's licence agreement if the code were included, or conversely would violate Audacity's GPL Licence if the code were 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, that is, 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 builds of Audacity including ASIO support, so please don't ask!

To compile Audacity from our source code including ASIO support:

  1. Download the Audacity source code from either the release tarball or latest SVN development code (SVN sources are much more likely to build out-of-the box on Windows)
  2. Download and install the ASIO SDK (a Steinberg account is required)
  3. Follow the 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.

If you need help, please ask on the Compiling Audacity board on the Audacity Forum.


Audacity Releases for Windows from 1.3.7 onwards include support for Microsoft's DirectSound interface protocol. To use it, select "Windows DirectSound" as host in Device Toolbar. 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).