You might want Audacity to work with the ASIO drivers supplied with your sound devices. Commmon reasons for this are:
- Only ASIO drivers are available for your hardware (eg Behringer mixers)
- Performance - ASIO has low latency (delays)
- You don't want to use the ASIO4All bridging driver with non ASIO drivers
- Multi channel support - though Audacity is not so good at handling other than Stereo or Mono
Due to licensing restrictions the Audacity team cannot provide a prebuilt version with Windows ASIO driver support. But with this guide and script you can easily build your own Audacity with ASIO support, on a Windows PC.
This builds the latest Audacity release 3.7.0 by default. Recent other versions can be built with the -v option
Drivers are the glue between an audio program like Audacity and external hardware like a mixer or sound interface. The drivers usually used on Windows have limitations which can be overcome if you use ASIO drivers for your hardware. Specifically, low latency (delay) and multi channel support are available with ASIO drivers.
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 include using digital audio or music equipment that only comes with ASIO drivers, such as Behringer mixers (which actually suggest using the less efficient ASIO4ALL ASIO to WDM bridging driver). Another common reason is to take advantage of the low latency or multiple channels supported by ASIO. Note that Audacity really is not a good multichannel solution, so if that is required a DAW might be a better bet.
While it is possible to build your own Audacity with ASIO support by following the instructions this usually requires considerable technical skills.
But have no fear, the instructions and script provided here make it easy to build your own version of Audacity with ASIO support. You just need a suitable Windows PC. The script installs all required tools and builds a 64 bit release version of Audacity with ASIO for you using the official build instructions.
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.
Here's a brief blog post explaining why I needed ASIO and it includes a screen shot. But note, 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.
The script installs a set of development tools that are known to build Audacity. Due to the complex nature of such tools, any other versions of them on your PC may interfere with this script. Thus this scipt should be run on a clean PC without any developer tools. No support can be offered otherwise.
If you would rather not install these tools (Git for Windows, Visual Studio, CMake, Python and Conan), or you already have versions of them or even if you are having build problems, you can use a one of the following Vitual Machines:
- Windows Sandbox - Sandbox can be enabled on Windows 10/11 Pro/Enterprise and can also be installed on Windows Home with a bit of effort. If the build experiences memory errors you will need a configuration file to provide more memory than the default 4GB.
- A virtualisation program - install a VM and and a matching Developer Virtual Machine Image from Microsoft. In most cases VirtualBox will be a good choice (import the Microsoft supplied .ova appliance file but the Visual Studio pre installed in the VM must be uninstalled first to avoid problems).
In both cases you can copy the built files to where they will be run from on you PC file system, possibly by sharing a PC folder with the VM.
- Ensure you have a PC (or VM) with Windows 10 or 11 installed.
- Make a new folder
C:\projects
. - Click on the 'raw' button at the top of the script (below) in this Gist.
- Use the browser Save As (right click) feature to save the script as
This PC -> C:\projects\build-audacity.cmd
. To avoid it being saved as a text file type the filename in quotes, eg "build-audacity.cmd". - open a new Windows cmd terminal (Windows + R keys and then type
cmd
) - Type
cd \projects
and enter key. - Install required tools and build by typing
build-audacity.cmd
and enter (use -v3.3.3 if requred).- Follow the prompts, pressing a key to start each tool's installer (when previous has finished).
- NB for Visual Studio, make sure you check the "desktop development with C++" workload
- If you have a non English Windows or Visual Studio then you must also install the English language packs.
- Come back later - it will take at least 10 minutes.
- Audactiy will be launched to test it was built correctly.
- See the program location printed out at the end of the build so you can run it again.
- Optionally copy the specified folder to where you want to run Audacity from, optionally renaming it.
(This video by @Renamesk walks you through the process, but the tool installation method has changed.)
If you have any ASIO drivers installed for active connected hardware you should find ASIO is now available in the the Audacity driver selection combo box which probably currently shows 'MME' selected (you may need to show using menu item View -> Toolbars -> Device toolbar).
NB: The Audacity settings and preferences are stored in a folder "Portable Settings" next to the audacity program. If you want to use settings in the user's home directory then delete this folder.
As with any complex software build there are many moving parts (including Windows itself) and things can sometimes go wrong. Here are some tips if you hit build errors.
If everyhting falls or you just want to shortcut lots of painful debugging then try a Microsoft Windows Virtual machine (VM) as mentioned above.
- make sure you have latest script
- make sure you are in a folder C:\projects in the cmd window
- ensure you are an administrator on your Windows 10 or 11 64 bit PC (ie not a organisational PC)?
- run the script with
--cleanall
and try again - uninstall all the tools and installers (Python, cmake, Visual Studio) and then reboot before trying again
- note having other versions of any of the tools installed may well cause problems - remove them
- ensure you ticked the specified options when installing Visual Studio and Python, reinstall if unsure
- read the error output - clues are often buried in reams of impenetrable text
- disable any Anti Virus - the built-in Microsoft one is usually not a problem
- if your PC is not English make sure you have EN language packs installed for Windows and VS
- @diogodh for finding and fixing the bug with conan installations
- The Audacity team for an fantastic audio tool
The drivers from zoom for their smaller devices have always set the datachunk and native sample rate the computer will be "looking" for from the device. When this doesn't match up (usually DAW software to datachunk size for speed and memory use, Native sample rate to what's on the device itself) you can get all kinds of issues, from sound not showing up to driver not showing up. Also, 32bit windows doesn't exactly have an audio capability for 32bit float natively. I know this because every audio app I've tried in the 32bit versions only goes as high as 24bit. With Linux, you didn't have this problem because linux was 64bit only for a long while before 64bits became the norm for most Windows installations. If you are stuck with a 32bit windows, you are almost always limited to 24bits, 96k, accept with one or two software titles (can't remember which). If you are compiling a 64bit version and still don't get 32bit float (I've had no experience with your device here, so grain of salt), it may be connected to the driver, though I have seen that the device can use 24bit and the system 32 without problems in Adobe Audition. My experience with zoom devices has been that there is a driver interface that you can access to set the sample rate and the data chunk, but the device must be set to the right mode or you will not get audio; or you will get a message in your DAW that it isn't working. My H6 has 2 drivers installed. One is a simpler L\R stereo driver, another is the multitrack driver. If I set the device to Stereo for the connection and the PC for Multitrack, no go. If I set the data chunk wrong, the sound fragments. The sample rate can be higher than the project file, but lower and it'll stutter and possibly flag errors, showing you a thousand popup messages for all the samples you drop.
And the ASIO4ALL driver is not actually an ASIO driver, but an attempt at a clone of it. While I have always had access to the 32bit driver in 32bit Audacity, I haven't tried 64bits.
Here are the possibilities I can see: