Skip to content

Instantly share code, notes, and snippets.

@SteveALee
Last active October 1, 2024 16:26
Show Gist options
  • Save SteveALee/da24c2be633340b8791066dd98eb5d0b to your computer and use it in GitHub Desktop.
Save SteveALee/da24c2be633340b8791066dd98eb5d0b to your computer and use it in GitHub Desktop.
Build audacity with ASIO support on Windows

Build your own Audacity for Windows with ASIO driver support

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.

This builds the latest Audacity release 3.6.3 by default. Recent other versions can be built with the -v option

ko-fi

Background

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.

Licensing

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.

Development PC

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.

Step by Step Instructions

  • 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.

ko-fi

When things go wrong

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

Thanks

  • @diogodh for finding and fixing the bug with conan installations
  • The Audacity team for an fantastic audio tool

ko-fi

@echo off
rem Version: 2.9.0
rem
rem Build audacity with ASIO support on Windows
rem See the following gist for details
rem https://gist.github.com/SteveALee/da24c2be633340b8791066dd98eb5d0b
rem
rem Options (only one may be specified)
rem
rem --install or none - install tools and build
rem --build - build, no install
rem --noget - build only but don't fetch again from git
rem --getonly - only get the files
rem --rebuild - cleanall and build
rem --clean - remove built files
rem --cleanall - remove fetched, built files and conan modules
rem --cleaninstall - remove downloaded installation files
rem -vj.m.p version - default is 3.6.4 (using conan 2.3.2) - limited due to dependencies
rem
rem MIT licence
rem steve@fullmeasure.co.uk
TITLE Build Audacity with ASIO
setlocal
rem Clean up arguments
set TARGET=%1
set VERSION=%2
rem substring on empty var fails within parenthesis
if not [%TARGET%] == [] set TARGET_PREFIX=%TARGET:~0,2%
if [%TARGET_PREFIX%] == [-v] (
set TARGET=%2
set VERSION=%1
)
if [%TARGET%] == [] set TARGET=--install
if [%VERSION%] == [] (
set AUDACITY_REL=3.6.4
) else (
set AUDACITY_REL=%VERSION:~2%
)
set VISUALSTUDIOVER=2022\Community
set VISUALSTUDIOCMAKE=Visual Studio 17 2022
set VSDIR=%ProgramFiles%\Microsoft Visual Studio\%VISUALSTUDIOVER%
set PROJROOT=C:\projects
set AUDACITY=%PROJROOT%\audacity
set AUDACITY_BUILD=%PROJROOT%\audacity-asio
set MAKE_CONFIG=RelWithDebInfo
set EXEDIR=%AUDACITY_BUILD%\%MAKE_CONFIG%
set INSTALLFILEDIR=bin
rem More vaiables set for --install
if [%AUDACITY_REL:~0,3%] == [3.3] (set CONAN_VER=1.59.0) else (set CONAN_VER=2.3.2)
set CMAKE_OPTS=-DAUDACITY_BUILD_LEVEL=2 -Daudacity_has_asio_support=On
if [%AUDACITY_REL:~0,3%] == [3.5] set CMAKE_OPTS=%CMAKE_OPTS% -Daudacity_has_audiocom_upload=On -Daudacity_has_networking=On -Daudacity_has_url_schemes_support=On
if [%AUDACITY_REL:~0,3%] == [3.6] set CMAKE_OPTS=%CMAKE_OPTS% -Daudacity_has_audiocom_upload=On -Daudacity_has_networking=On -Daudacity_has_url_schemes_support=On
rem check projroot exists
if /I not [%~dp0] == [%PROJROOT%\] (
echo.
echo Error: This script must be run in %PROJROOT% - see %%PROJROOT%% in file
echo.
if not exist %PROJROOT% (
echo Create %PROJROOT
goto exit
) else (
echo cd to %PROJROOT%
goto exit
)
)
echo.
echo Building Audacity %AUDACITY_REL% 64 bit RelWithDebInfo with ASIO support...
echo.
rem Get tools
rem ANSI escape sequences do not work in if () block so we use goto
set git-url=https://github.com/git-for-windows/git/releases/download/v2.45.2.windows.1/Git-2.45.2-64-bit.exe
set GITPATH=%ProgramFiles%\Git\cmd\
set vs2022-url=https://aka.ms/vs/17/release/vs_community.exe
rem Conan is installed later
if [%CONAN_VER%] == [1.59.0] (
rem Note Conan 1.59 has dependency issues with python 3.12
set python-url=https://www.python.org/ftp/python/3.11.0/python-3.11.0-amd64.exe
set PYTHONPATH=%LOCALAPPDATA%\Programs\Python\Python311\
) else (
set python-url=https://www.python.org/ftp/python/3.12.4/python-3.12.4-amd64.exe
set PYTHONPATH=%LOCALAPPDATA%\Programs\Python\Python312\
)
set PIPPATH=%PYTHONPATH%Scripts\
if not [%TARGET%] == [--install] if not [%TARGET%] == [--cleaninstall] goto clean
if [%TARGET%] == [--cleaninstall] echo Cleaning installation files... & rmdir /s/q %INSTALLFILEDIR% 2> :null & goto exit
echo   
echo.
echo Fetching tools..
echo 
mkdir %INSTALLFILEDIR% 2> :null
curl -L %git-url% -o %INSTALLFILEDIR%\g4w.exe
curl -L %vs2022-url% -o %INSTALLFILEDIR%\vs.exe
curl -L %python-url% -o %INSTALLFILEDIR%\python.exe
echo   
echo.
echo Installing tools...
echo.
echo IMPORTANT!! Follow the instructions below for each installer
echo Close each installer when it is done before starting next
echo.
echo Git for Windows
echo Choose the option "Git from the command line..."
pause
%INSTALLFILEDIR%\g4w.exe
echo.
echo Visual Studio: make sure you select the Workload "Desktop development with C++"
echo You can uncheck "Start After installation"
pause
%INSTALLFILEDIR%\vs.exe
echo.
echo Python: make sure you select "Add python.exe to PATH" for future access
pause
%INSTALLFILEDIR%\python.exe
echo.
echo.
echo 
set installing=true
call :clean --rebuild
goto exit
rem subroutine
:cleanall
echo Cleaning source and built files... & rmdir /s/q %AUDACITY% %AUDACITY_BUILD% 2> :null
where /q conan & if ERRORLEVEL 0 echo Cleaning conan cache... & conan remove -c "*" 2>&1 > :null
exit /B
:clean
rem Python is on path, unless in windows sandbox
rem where /q python & if ERRORLEVEL 1 path %PATH%;%PYTHONPATH%
rem where /q pip & if ERRORLEVEL 1 path %PATH%;%PIPPATH%
rem where /q git & if ERRORLEVEL 1 path %PATH%;%GITPATH%
path %PYTHONPATH%;%PIPPATH%;%GITPATH%;%PATH%
if not [%TARGET%] == [--getonly] (
if /I [%TARGET%] == [--clean] echo Cleaning built files... & rmdir /s/q %AUDACITY_BUILD% 2> :null & goto exit
if /I [%TARGET%] == [--cleanall] call :cleanall & goto exit
if /I [%TARGET%] == [--rebuild] call :cleanall
)
rem Launch cmake-gui
rem VS doesn't include this with it's cmake
rem if [%TARGET%]==[--gui] cmake-gui -Daudacity_has_asio_support=On %CMAKE_OPTS% -S %AUDACITY% -B %AUDACITY_BUILD% & goto build
:checktools
rem ensure tools are installed
if not [%TARGET%] == [--noget] (
where /q git & if ERRORLEVEL 1 echo Git for Windows does not appear to be installed. Re run with "--install" & goto exit /b
)
if not [%TARGET%] == [--getonly] (
if not exist "%VSDIR%\VC\Auxiliary\Build\vcvars64.bat" echo Visual Studio does not appear to be installed. Re run with "--install" & goto exit /b
if not defined VisualStudioVersion call "%VSDIR%\VC\Auxiliary\Build\vcvars64.bat"
where /q python & if ERRORLEVEL 1 echo Python does not appear to be installed. Open a new cmd window or re-run with "--install" & goto exit /b
where /q conan & if ERRORLEVEL 0 pip show --version conan | findstr /R /C:"Version: %CONAN_VER%" & if ERRORLEVEL 1 echo conan %CONAN_VER% not found & pip uninstall -y -q conan
where /q conan & if ERRORLEVEL 1 echo installing conan %CONAN_VER% & pip install conan==%CONAN_VER%
)
rem Get source code
:getcode
if /I not [%TARGET%] == [--clean] (
if /I not [%TARGET%] == [--cleanall] (
if /I not [%TARGET%] == [--noget] (
echo Fetching code for Audacity %AUDACITY_REL%...
echo.
git clone -b Audacity-%AUDACITY_REL% --depth 1 https://github.com/audacity/audacity/ %AUDACITY%
if ERRORLEVEL 1 echo Error: cannot fetch the Audacity code. Try the --cleanall or --noget options & goto exit
)
)
)
if /I [%TARGET%] == [--getonly] goto exit
if not exist %AUDACITY%\CMakeLists.txt echo The code files appear to be missing from %AUDACITY%. & goto exit
:cmake
cd %AUDACITY%
cmake.exe -G "%VISUALSTUDIOCMAKE%" -DCMAKE_CONFIGURATION_TYPES=%MAKE_CONFIG% %CMAKE_OPTS% -S %AUDACITY% -B %AUDACITY_BUILD% & if ERRORLEVEL 1 echo Error: Cannot create Audacity buildfiles & goto exit
:build
cd %AUDACITY_BUILD%
set msbuild="%VSDIR%\MSBuild\Current\Bin\MsBuild.exe"
%msbuild% ALL_BUILD.vcxproj -p:configuration=%MAKE_CONFIG%
if ERRORLEVEL 1 echo Error: cannot build Audacity & goto exit
rem Settings stored with files rather than home directory
rem See https://manual.audacityteam.org/man/portable_audacity.html
mkdir %EXEDIR%\"Portable Settings"
cd %PROJROOT%
rem All done
echo 
echo.
echo Congratulations!
echo Your new Audacity %AUDACITY_REL% with ASIO support will now launch.
echo The ASIO options will appear if you have ASIO drivers and connected hardware
echo In future just run the audacity.exe. No need to install.
echo.
echo %EXEDIR%\audacity.exe
echo.
echo Or copy the folder
echo.
echo %EXEDIR%\
echo.
echo and run the included audacity.exe
echo.
echo Note settings and preferences are stored in "%EXEDIR%\Portable Settings"
echo If you want to use settings in the user's home directory then delete this folder.
echo.
echo 
start %EXEDIR%\audacity.exe
if defined installing exit /B
:exit
cd %PROJROOT%
endlocal
@SteveALee
Copy link
Author

@mateusfig is that after installing the Windows EN language pack? It seems it cannot locate the [we function in MSVC (the C compiler included in Visual Studio)

As we have no idea what kind of mess Microsoft might have made of language dependencies (if any) I I would uninstall/reinstall everything and be sure to run --cleanall. Sorry for this pain.

@Giermann
Copy link

@mateusfig
First of all, markdown language seems not to be the best choice to paste large text files. Maybe you should better use another service, for example pastebin.com and only copy the link to the files here.
If you are able to do that, it would be much easier to follow other comments if you paste your files there and then edit your comments - thank you very much!

But now to your issue: I just started a fresh run of the provided script on a (nearly) clean install of Windows (German) and the build succeeded without errors.
Then I compared the output and also identified the already mentioned warning "MSB8065" to be the main difference. For some reason, it is not creating the "sndfile.def" in libsndfile which finally leads to error "LNK1104".

A Google search returned a similiar issue (reported at StackOverflow) when the manually set date of a computer was before the creation of the source files. So I did some tricks to verify that, but was only able to verify it with a date after 12th of September, because git refuses to connect to sites with invalid SSL certificates.
But even this completed successfully (all runs with 121 warnings).
So, I don't know how to continue from here...

@SteveALee
Copy link
Author

SteveALee commented Oct 11, 2023

@Giermann Great work. Thanks for confirming it can work! I agree with your error detection - that was the first I saw.

As far as I recall git doesn't preserve file timestamps on clone/fetch (a right pain). So as long as a --cleanall or otherwise deleting the source was was done , forcing the files to be re fetched they'd have to be dated before current clock time - unless there is a really weird clock thing happening. Perhaps if localisation of time format is different between Windows GUI and command line - clutching at a straw there. I'm also stuck I'm afraid.

@mateusfig
Copy link

@mateusfig is that after installing the Windows EN language pack? It seems it cannot locate the [we function in MSVC (the C compiler included in Visual Studio)

As we have no idea what kind of mess Microsoft might have made of language dependencies (if any) I I would uninstall/reinstall everything and be sure to run --cleanall. Sorry for this pain.

I don't have installed EN language pack still. I will try it. I guess also this is the problem.

@mateusfig
Copy link

@mateusfig First of all, markdown language seems not to be the best choice to paste large text files. Maybe you should better use another service, for example pastebin.com and only copy the link to the files here. If you are able to do that, it would be much easier to follow other comments if you paste your files there and then edit your comments - thank you very much!

But now to your issue: I just started a fresh run of the provided script on a (nearly) clean install of Windows (German) and the build succeeded without errors. Then I compared the output and also identified the already mentioned warning "MSB8065" to be the main difference. For some reason, it is not creating the "sndfile.def" in libsndfile which finally leads to error "LNK1104".

A Google search returned a similiar issue (reported at StackOverflow) when the manually set date of a computer was before the creation of the source files. So I did some tricks to verify that, but was only able to verify it with a date after 12th of September, because git refuses to connect to sites with invalid SSL certificates. But even this completed successfully (all runs with 121 warnings). So, I don't know how to continue from here...

I'm sorry for my long text post. I just corrected this with pastbin.com

My issue is kind of weird. I will try the build on another computer (no EN language package also) and see what I 'll get.

@mateusfig
Copy link

@mateusfig is that after installing the Windows EN language pack? It seems it cannot locate the [we function in MSVC (the C compiler included in Visual Studio)
As we have no idea what kind of mess Microsoft might have made of language dependencies (if any) I I would uninstall/reinstall everything and be sure to run --cleanall. Sorry for this pain.

I don't have installed EN language pack still. I will try it. I guess also this is the problem.

I installed EN language pack and got same issue.

@Giermann
Copy link

Did you already try on another computer?
Can you also try to change line 137 in the script and modify "-Daudacity_has_asio_support=On" to "-Daudacity_has_asio_support=Off"?
I'm pretty sure, the problem is related to the build in general, not ASIO specific.

If this also fails, it would be time to open an issue to get support from the Audacity team:
https://github.com/audacity/audacity/issues

@Giermann
Copy link

Giermann commented Oct 13, 2023

Another idea: the issue leading to MSB8065 seems to be compiler dependent.
You could try to use another version of Visual Studio, i.e. 2019 instead of 2022.

To do so, uninstall all components (Python, cmake, Visual Studio and its installer), reboot and try again with a fork of Steves script, which I modified to choose the VS version:
https://gist.github.com/Giermann/c3f88ee2a147f9a688a2ca76e1334a54
Set VISUALSTUDIO_REL in line 34 to either 2019 or 2017 and then start from scratch with "--install" and so on...

@SteveALee
Copy link
Author

SteveALee commented Nov 4, 2023

I updated to Audacity 3.4.0 and switched to using the "cmake" that comes with Visual Studio. This means the cmake-gui option is no longer available.

I also cleaned up the flow so the --install option no longer required a new cmd window to be opened .

@SteveALee
Copy link
Author

Due to the number of issues with Audacity 3.4.0 this builds 3.3.3. If you want 3.4 then use "build-audacity.cmd -- install -v3.4"

Copy link

ghost commented Nov 10, 2023

All I get is "Error: Cannot create Audacity buildfiles" over and over cmake just gives a conan error when I try to build in there. I have been at this all day somehow I feel Audacity is just not worth my time.

@SteveALee
Copy link
Author

SteveALee commented Nov 11, 2023

@ZardozXerxes So sorry to hear your frustration. Tech build can so often be like that, there are so many variables to get lined up. Can you use the release Audacity without ASIO while you try to figure this out?

I've just tried again and all is well with the script. So there's something not quite right with your setup. We'd need more info to help.

Are you building 3.3.3 (the default) or -3.4.1 (needs -v3.4 option)? 3.3.3 is still the most reliable.

Please ensure you have followed the instructions EXACTLY. Here are some key points

  • Do you definitely have the latest script version 2.2.2? Re download to be sure.
  • Are you an administrator on your WIndows 10 or 11 64 bit (ie not a organisational PC)?
  • Make sure you are in a folder C:\projects in the cmd window
  • If your PC is not English make sure you have EN language packs installed for Windows and VS
  • Ensure you ticked the specified options when installing Visual Studio and Python (you probably did)
  • You could try the --cleanall and then --cleaninstall options (seperately) to delete any files lying around

Best of luck!

@SteveALee
Copy link
Author

@ZardozXerxes I did find a small bug but only if not using the specified --install option. Please try new script version 2.2.3

Copy link

ghost commented Nov 11, 2023

I already have Audacity but I need to record from my UA Apollo Twin X line in and that can only be done via ASIO.
Yes I had version 2.2.2, I just ran the scrip I did not change the version so I presume it was 3.3.3, yes I am admin, yes I am in the specified folder, I am in English, I had already specified the options from trying and failing to build it myself using Cmake, I tried the --cleanall a few times but not the --cleaninstall as I was just following the instructions as written, that said I did clear the entire project folder a few times. I will try the new script. Unrelated but I think this might be a typo "follow the prompts, pressing a ket to start each tool's installer in turn".

Copy link

ghost commented Nov 11, 2023

I tried the new script many times and got the same error, I thought it might be a conan version error or conflict so I checked if it was already installed and it was not, so I tried installing it first and then with it uninstalled. Here is the error in full.

conan install: error: unrecognized arguments: --install-folder C:/projects/audacity-asio\conan-install-release
ERROR: Exiting with code: 2
Restoring global Conan config...
Traceback (most recent call last):
File "C:\projects\audacity\conan\conan_runner.py", line 339, in
subprocess.check_call(conan_options)
File "C:\Users****\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['conan.exe', 'install', 'C:\projects\audacity\conan', '--build=missing', '--install-folder', 'C:/projects/audacity-asio\conan-install-release', '--output-folder', 'C:/projects/audacity-asio', '--remote', 'audacity-binaries', '--profile:build', 'C:/projects/audacity-asio\profile-build.profile', '--profile:host', 'C:/projects/audacity-asio\profile-host-release.profile']' returned non-zero exit status 2.
CMake Error at cmake-proxies/cmake-modules/AudacityDependencies.cmake:202 (message):
Conan failed to install dependencies (1) C:/Users/Sam
Cartman/AppData/Local/Programs/Python/Python312/python.exe
Call Stack (most recent call first):
CMakeLists.txt:572 (include)

-- Configuring incomplete, errors occurred!
Error: Cannot create Audacity buildfiles

I found a program installed called something like conan version manager I think it was installed by Visual studio, I uninstalled it and got further and now have another error.

pkgconf/2.0.3: pkgconf/2.0.3: ERROR: Package '2d91722813283545a5bec8be869b6396b7c40537' build failed

pkgconf/2.0.3: WARN: Build folder C:\Users*.conan\data\pkgconf\2.0.3__\build\2d91722813283545a5bec8be869b6396b7c40537\build-relwithdebinfo
ERROR: pkgconf/2.0.3: Error in build() method, line 92
meson.configure()
ConanException: Error 9009 while executing meson setup --native-file "C:\Users*
.conan\data\pkgconf\2.0.3__\build\2d91722813283545a5bec8be869b6396b7c40537\build-relwithdebinfo\conan\conan_meson_native.ini" "C:\Users*.conan\data\pkgconf\2.0.3__\build\2d91722813283545a5bec8be869b6396b7c40537\build-relwithdebinfo" "C:\Users*.conan\data\pkgconf\2.0.3__\build\2d91722813283545a5bec8be869b6396b7c40537\src" -Dprefix="C:\Users*.conan\data\pkgconf\2.0.3__\package\2d91722813283545a5bec8be869b6396b7c40537"
Restoring global Conan config...
Traceback (most recent call last):
File "C:\projects\audacity\conan\conan_runner.py", line 339, in
subprocess.check_call(conan_options)
File "C:\Users*
\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['conan.exe', 'install', 'C:\projects\audacity\conan', '--build=missing', '--install-folder', 'C:/projects/audacity-asio\conan-install-release', '--output-folder', 'C:/projects/audacity-asio', '--remote', 'audacity-binaries', '--profile:build', 'C:/projects/audacity-asio\profile-build.profile', '--profile:host', 'C:/projects/audacity-asio\profile-host-release.profile']' returned non-zero exit status 1.
CMake Error at cmake-proxies/cmake-modules/AudacityDependencies.cmake:202 (message):
Conan failed to install dependencies (1) C:/Users/****/AppData/Local/Programs/Python/Python312/python.exe
Call Stack (most recent call first):
CMakeLists.txt:572 (include)

-- Configuring incomplete, errors occurred!
Error: Cannot create Audacity buildfiles

@SteveALee
Copy link
Author

SteveALee commented Nov 11, 2023

@ZardozXerxes Oh dear.

I just released script 2.2.4 so you should try that (though earlier should have worked) As there is so much I do not know about your set up best you do a clean build from the top.

I did spot you have python 3.12 and I got errors building due to conan dependency problems. The script installs python 3.11 Use that!

  • Uninstall Visual Studio and Python and their installers - 4 programs
  • run "build-audacity.cmd --cleanall"
  • run "build-audacity.cmd" or "build-audacity.cmd -v3.4.1" The --install option is now the default

If that doesn work I'm at a loss

@SteveALee
Copy link
Author

SteveALee commented Nov 11, 2023

[Update] The --install option is now the default as that is most likely what most people will want. The --build option will build with out installing build tools first.

Copy link

ghost commented Nov 12, 2023

@SteveALee Yes I thought of that too and uninstalled all versions of python but the result was the same. 2.24 is not working, the same as the last. The only things installed now are Git For Windows and Visual Studio before I run the script. This is the first thing I have ever tried to build from git hub (and probably the last after this) so I have no idea why it isn't working.

@SteveALee
Copy link
Author

@ZardozXerxes

2.24
What is that? The script will build 3.3.3 or 4.2.1. The dependencies are way too complex to support more

The only things installed now are Git For Windows and Visual Studio before I run the script
Why is VS installed. I suggested you uninstalled it first. I know it's slow but otherwise you are not in a state I can support. What VS pre installed before you tried to build? If s owhat version? i try to be clear in the instructions that if you already have a dev env setup then they may well be problems due to tool dependencies.

Oh you should check no CMAKE is installed.

You can't really blame github -this is gist (lol) though yes it does fetch the source from git. That's incredibly common. The problem is most likely something to do with your specific PC config being out side the tested bounds. It happens sadly. So do you build other software? Again that indicates you might have a dev env on your PC that might clash.

@bezik46
Copy link

bezik46 commented Nov 13, 2023

@ZardozXerxes

Stop complaining, spring up plain Win 1x VM in whatever (Hyper-V, Virtualbox, VMware player etc) and run the script. The result will be surprising, it will just work

after you can ditch the VM and get back to your setup

@SteveALee
Copy link
Author

SteveALee commented Nov 13, 2023

@scerazy I quite forgot that option! Thanks. I see MS have just updated the VMs. I'll make it stand out more in the notes.

@SteveALee
Copy link
Author

Audacity 3.4.2 tested. use -v34.2 option - see notes

@lammersma
Copy link

Hi @SteveALee , thanks for this amazing script.
I have used the Sandbox in Windows 11. Maybe a bit slower, the whole process took almost an hour, but worked great.
I had some issues with the result. It kept crashing. First it complained about missing avformat dll's. I installed FFMpeg to solve that issue. The second was the language. Audacity used 'Dutch' as language. After switching it to English, I was able to record all 15 tracks of the Rodecaster Duo.
BTW, I used the version of a few days ago. I will try to build the new script as well to get Audacity 3.4.2

Thanks again for the amazing script! And I just bought you a Ko-fi :)

@SteveALee
Copy link
Author

@lammersma wow, I completely forgot about sandbox! I tried once when it launched and found it a bit buggy. Thanks for the tip. That is rather slow, but VirtulBox is not fast (VMware player is useless if using Hyper-V, eg for WSL).

I think there are plenty of crashing bugs left in 3.4.x :D but 3.4.2 does seem better. I'll leave the script defaulting to 3.3.3 for a bit longer.

The Language thing is weird. Maybe the sandbox is not quite localised correctly. Good to know you fixed it and it is actually useful!! Even better to know you brought me a ko-fi!!

Copy link

ghost commented Nov 17, 2023

@scerazy

I came here for help not trolling and disrespect, nothing I have said is complaining I am just trying to get it to work.
Creating a VM is not a solution, this should work without a clean version of windows or its not much use to anybody.

@Sky3RN
Copy link

Sky3RN commented Nov 17, 2023

@SteveALee

I bumped the Audacity version to 3.3.3 - https://github.com/audacity/audacity/releases/tag/Audacity-3.3.3

Maybe I'm not sure what does "bumped" mean, but it looks like a real Audacity without ASIO. As I told you before Audacity works fine, it's the version compiled with ASIO who doesn't work. So yeah, the 3.3.3 works, but 3.3.3 with ASIO doesn't work. Same for the 3.3.2. I don't know if you see what I mean ?

Perhaps having all hardware connected at once is confusing audacity. But you say even with just one. Or all the drivers?

I tried with all hardware connected at the same time, and only with one connected. Something's blocking and I can't find what and why..

No I don;t speak French - looks good though. My wife is learning :)

๐Ÿ‘๐Ÿ‘

did you try an ASIO DAW or some such to confirm the problem is with Audacity?

Yep. As far as it's my job, I'm using everyday Mixcraft, sometimes ProTools or Cakewalk or Studio One. Never had any issues with them.

To resume : Audacity works fine but doesn't record in 32 bits float, that's why I'm trying to compile it with ASIO, and when it's compiled it doesn't open and get stuck on the splash screen. Sometimes it asks for the ASIO driver but still gets stuck, and most of the other times I don't have the popup for ASIO selection. I tried to compile and recompile again and again and again, I don't know how to force this popup to be shown ! It's seem to be a random thing.

Hey guys, it still doesn't work with me. ๐Ÿ™„
I've tried to turn my Windows in English only, installed EN lang-packages for VS, etc.. Done everything's written on this README part, also tried to download ASIO SDK as in the video, etc..
Nothing seems to work at all, I still get stuck on the splash screen of Audacity. Tried on 2 computers. Same result. Even with the new 3.4.2 version.
How-the-hell did you all make it work ?!

Maybe.. Can anyone send me his compiled and working Audacity-ASIO version ? To see if it works fine with me ?

Copy link

ghost commented Nov 17, 2023

@SteveALee
"You can't really blame github -this is gist (lol)" - I am not blaming anything I just said that this will be the last time I try to build anything from Github, also I a am not just referencing this script page as I mentioned before I came here I was trying to build it on my own directly from github and that wasn't working thats why I ended up here.
I already said "The only things installed now are Git For Windows and Visual Studio" so no Cmake is not installed.

@SteveALee
Copy link
Author

@scerazy @Sky3RN @ghost I'm sorry you are all having problems. Sadly there is such a incredibly wide range of possible PC configs that some will just fail. I have tested on the few I have access to. This all takes time and I provide this as a voluntary service for the Audacity community.

If you do not want to run a VM as a hopefully clean working environment then can you try another PC? You can just copy the built files. What you can't do is give to other people under steinbergs licence conditions. Someone just mentioned success building with the windows Sandbox, a kind of simple built in VM.

If it build but does not run then I suggest talking to the project devs. FYI Audacity on my main PC takes ages to start, the splash dissappears but it does eventually start up.

I wish you luck.

@SteveALee
Copy link
Author

@scerazy @Sky3RN @ghost do make sure you grab the latest script and use the --cleanall. Also uninstall VS and python for the best chance of it working.

@Sky3RN
Copy link

Sky3RN commented Nov 17, 2023

If you do not want to run a VM as a hopefully clean working environment then can you try another PC? You can just copy the built files. What you can't do is give to other people under steinbergs licence conditions. Someone just mentioned success building with the windows Sandbox, a kind of simple built in VM.

My goal is to make it work on a real Windows machine, not a VM. I need it to work for a real time usage, and most of all, not for me but for all the people who are trying to record in 32 bits float as I mentioned before. But this is a struggle.. Argh.
I don't know what Sandbox is and if it's too hard to make it work it's not worth it. I mean, I'm a sound engineer making videos on YouTube to explain why people should buy a 32 bits float soundcard and it works fine with any DAW but not with Audacity, and noobs people who are watching my videos use Audacity. ๐Ÿ˜… If it wasn't for them, I would have never used Audacity. I hate this Audashitty. ๐Ÿ˜ƒ
In that way, people won't use VMs or Sandbox or something else. They need it to work on their own machine. They don't even know how to access an URL without using Google. ๐Ÿ™„

If it build but does not run then I suggest talking to the project devs. FYI Audacity on my main PC takes ages to start, the splash dissappears but it does eventually start up.

I already tried to tell them but they are closed-minded like ยซ The problem doesn't come from Audacity ยป blah blah blah.

@scerazy @Sky3RN @ghost do make sure you grab the latest script and use the --cleanall. Also uninstall VS and python for the best chance of it working.

I already tried this a bunch of time !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment