Build your own Audacity with ASIO driver support
UPDATE 2021-07-5: If you are concerned about Audacity's use of your personal information after the confusing messaging about telementry then you probably do not need to be. Note especially, “The current version (3.0.2) does not support data collection [of] any data of any kind and has no networking features enabled”. In addition, the script provided here only uses the public Audacity source code, with no changes.
UPDATE: This builds Audacity 3.0.2. Audacity 3.0.0 introduced a new project file format so you will hit compatability problems if you use Audacity 2.x.x to open projects saved with this version.
The Audacity program is the "go to" solution for many audio recording and editing tasks. However, unlike many more advanced DAWs, it doesn't support Windows ASIO drivers "out of the box". Fortunately, Audiacity's standard MME support is fine for most uses. That said, common reasons for needing ASIO are using digital audio or music equipment that only comes with ASIO drivers, such as Behringer mixers (which actually use the ASIO4ALL ASIO <> WDM bridging driver). Another common reason is to take advantage of the low latency or multiple channels supported by ASIO.
While it is possible to build your own Audacity with ASIO support this usually requires considerable technical skills.
To reduce this requirement, the instructions provided here make it easy to build your own version of Audacity with ASIO support on a Windows PC. The instructions for the few manual steps should be straight forward to follow, and use a command script that does all the work for you.
NB. If you do use this to build Audacity with ASIO support you must not redistribute it due to the ASIO SDK licensing terms - see below.
Unfortunately, it turns out the Audacity ASIO build has limited multi channel support. For example, the peak meters always show channels 1 & 2 and to record channels 3 & 4 requires recording 1, 2, 3 & 4. So While Audacity still works really well for simple recording tasks, you might want to eventually switch to a full DAW with AISO support. I'll probably use Reaper.
Here's a brief blog post explaining why I needed ASIO and it includes a screen shot.
Since writing that, I discovered my McMillen K-Mix digital interface mixer facilities alow routing of inputs 3 & 4 to the main outputs on 1 and 2 so can use the default MME Audacity build after all. For playback from PC, I found the HiFi Driver and ASIO Bridge from VB Audio lets me re-route PC audio out to channels 3 & 4 on the K-Mix, Leaving Channels 1 & 2 free for instruments and Mics.
The reason for Audacity's lack of ASIO support is licensing, not technical. Steinberg do not alow the ASIO SDK to be redistributed (as required by open source projects). In addition, Audacity is GPL licensed and so is incompatible with the ASIO SDK licence redistribution rules.
Note for developers: These instructions assume a clean dev. env. If you have existing installations of the tools you may hit errors due to differing versions. Perhaps use a VM (difficult with Windows licencing) or a Windows container.
This (slightly out of date) video by @Renamesk walks you through the process.
- ensure you have a PC with modern Windows installed. 10 is known to work but 7 and 8 should too.
- make a new folder
- click on the 'raw' button at the top of the script (below) in this Gist.
- use the browser Save As feature to save the script as
- install the following (the script prompts if you have not done so when it runs):
- "Git For Windows" - click the "download" button.
- "Cmake" - download dialog will appear
- "Visual Studio Community 2017" - download dialog will appear after a delay. Be sure to select the desktop development with C++ option or else you will later see errors
nmake is not found. Close VS GUI if it opens (no need to sign in)
- Python - download dialog will appear
- "Steinberg ASIO SDK" - select the SDK link. Right click zipfile, "expand all" to
C:\projectsand then rename the
- close all cmd or terminal windows including git for windows. Otherwise you may later see errors
- open a new Windows cmd terminal (Windows + R keys and then type
cd \projectsand enter key
- run build script by typing
- come back later - it will take at least 10 minutes (all the yellow warnings can be ignored)
- Audactiy will be launched to test it was built correctly
- to it run again see the program location printed out at the end of the build
- or copy the specified folder to where you want to run Audacity from, optionally renaming it
If you have any ASIO drivers installed you should find ASIO is now available in the the Audacity driver selection combo box.