Installing ASIO in Audacity

You would need an addition part to step 3 for it to comply with Steinberg’s license:

3a. Prompt user to sign Steinberg’s “non-distributable license” agreement.
3b. Downloads ASIO SDK from Steinberg.


I recall asking the developer’s a similar question some years ago. Docker did not exist back then, but I think the reply that I got is still relevant.

I asked why there couldn’t be an executable script for users to download and run, which would download the necessary source code and build Audacity. The reply was, that once a working development environment was set up, building Audacity on Windows is actually highly automated and very easy - the part that causes the trouble is getting the development environment set up and working.

Unfortunately, Windows does not provide a development environment by default, so most users will need to download and install several very large packages from Microsoft, including C and C++ libraries, a compatible version of MSVC, compatible SDKs and so on. The exact steps can vary from one machine to another, but perhaps Docker could simplify this?

Adding in a lincense agreement can be done and is on my list.

The hard part of setting up the environment and everything that can go wrong is exactly what Docker solves. The image acts kind of like a VM with all tools baked in. I’ll just get everything ready (give me a few days) and then it will probably be clear for those who have never worked with it.

And we’re ready:
https://github.com/Stannieman/audacity-with-asio-builder
Instructions in the readme which GitHub should nicely show you by default.

I build audacity on windows…it runs. I downloaded the ASIO SDK and saved it.

Here is the part I do not understand. At what point did I compile ASIO into Audacity? audacity is already built. The only instructions I see is

  1. Install SDK in c:\asiosdk

  2. Create environment variable ASIOSDK_DIR and point it to the dir

I did that…ran Audacity, and I do not see ASIO in the choices for Devices.

What step am I missing?

Thanks.

To use ASIO with Audacity, you need to “build” ASIO support into Audacity. So, after setting up the ASIOSDK_DIR environment variable:

  1. Reboot
  2. Launch MSVC and open the Audacity sln
  3. Clean the build
  4. Build Audacity (again)

I’m trying to build Audacity with ASIO support. I have some development experience with Visual Studio but I’m not anywhere close to being an expert. I think I got through it but how do I know?

I’m going through all this so that I can record 4 channels at once from a Behringer UMC404HD which presents itself to Windows as two devices, one for channels 1 & 2 of the interface, and one for channels 3 & 4. What I expected is that I would open Audacity and find a device with ASIO in the name and the ability to select 4 channels. That didn’t happen. No new devices are presented. What am I missing? What SHOULD I see as available devices when I have a successful build? Does ASIO work through some other construct?

Did you check if 4 channels are available with “host” set to “WASAPI” in the device toolbar?

“Did you check if 4 channels are available with “host” set to “WASAPI” in the device toolbar?”

Yes, I checked that and they aren’t because the next item to select is the device. The Behringer presents itself as two devices, one with inputs 1 & 2, and one with inputs 3 & 4. Each of these provide mono or two channels.

I located an older version of the driver for the Behringer which presents as a single device capable of 4 channels BUT it is buggy. I am able to select it once and record in 4 channels but as soon as I stop recording, I can’t record (or play) again. An error pops up claiming a bitrate mismatch (or something more generic). No idea how to resolve that as everything seems to be in order. A restart of Audacity is the only thing that gets it back on its feet.

So I’d like to use ASIO. But in the version I tried compiling, no extra hosts appear. Should one? I don’t know what to look for. I don’t know if a helper like ASIO4all is needed.

Have you installed the ASIO drivers for the UMC404HD and rebooted?

Stan, thanks much for building this! I’ve downloaded everything and ran the script; it came back with this error:

Starting Docker container to build Audacity with ASIO support
Unable to find image ‘asio:latest’ locally
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: pull access denied for asio, repository does not exist or may require ‘docker login’.
See ‘C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help’.

I am signed into Docker. Any ideas? And thank you.

I have not “compiled” before, as I read of in these exchanges…I should have a vanilla version, as I have never altered or embellished my Audacity. I’ve downloaded ASIO. I have these components. What now? Please Lucy,-'splain.

Sorry for the late reply. I’ll have a look at it tomorrow. It’s not actually supposed to point to asio:latest.
Do you have spaces in your path perhaps?
I suspect that the -v parameter on this line is the culprit, it probably needs some quotes.

It should be fixed now. Also updated some other things, full changelog here: https://github.com/Stannieman/audacity-with-asio-builder/releases/tag/1.2.0