kvoltmer/Audionaut: Audionaut skilled audio enhancing and audio recording · GitHub


A free, open-source multitrack audio editor that AI brokers can drive over MCP.

Audionaut demo: Claude cuts a song every 16 bars, splits the clips across two tracks and closes the gaps, then sets crossfades and a fade-out, while the user runs Auto Edit and stem separation in the app

audionaut.app · Discussions · Sponsor

Audionaut is a free, open-source desktop software for easy audio enhancing and recording. Whether you are engaged on music, podcasts, or multitrack recordings, it offers you exact reducing, per-track playlists, versatile multi-channel help, and clear exports — with out the burden and complexity of a full DAW. Audionaut is written in trendy C++ on the JUCE framework and runs natively on Windows, macOS, and Linux.

License: GPL v3
macOS tests
Linux build
Sponsor

Audionaut speaks MCP, so Claude and different brokers can edit your periods. With the app and Node.js 18+ put in:

claude mcp add audionaut -- npx -y audionaut-mcp

Keep the challenge open in Audionaut and every edit arrives as one undo step. On macOS, hold initiatives in your Music folder. Claude Desktop setup and particulars: manual, chapter 11.

Make certain to clone with submodules:

git clone --recursive https://github.com/kvoltmer/Audionaut.git

or as soon as cloned do:

git submodule replace --init --recursive

Essentia (audio evaluation)

The evaluation options (BIC segmentation, onset detection, beat monitoring) hyperlink towards a static construct of the Essentia submodule. Build it as soon as after trying out the submodules:

./Audionaut/Builds/build_essentia.sh

The script builds Essentia’s Third-party dependencies statically (sluggish, skipped on re-runs; power with FORCE_3RDPARTY=1), then configures and builds Essentia itself with its waf construct system into Submodules/essentia/construct. It patches Essentia’s Linux-oriented Third-party construct scripts within the working tree as wanted for macOS/Apple Silicon, so the essentia submodule will present as soiled afterwards — do not commit these adjustments.

Prerequisites:

  • Python ≤ 3.11 — Essentia’s bundled waf wants distutils, eliminated in Python 3.12. The script picks an appropriate interpreter mechanically; override with PYTHON=... ./Audionaut/Builds/build_essentia.sh.
  • pkg-config (e.g. brew set up pkg-config)
  • CMake 3.x beneficial — some Third-party deps ship very previous CMakeLists that CMake 4.x refuses (e.g. pip set up "cmake~=3.31.0").

Building Essentia is non-compulsory: with out it, ESSENTIA_ENABLED auto-detects off and the app and assessments compile with the evaluation options disabled.

demucs.cpp (stem separation)

Stem separation runs demucs.cpp, a C++ port of Meta’s Demucs, compiled straight from the Submodules/demucs.cpp submodule — no separate construct step. It wants the submodule’s vendored Eigen (Submodules/demucs.cpp/vendor/eigen, a nested submodule that --recursive fetches); the CMake construct detects it and units AUDIONAUT_ENABLE_DEMUCS accordingly. The mannequin weights should not within the repository: the app downloads them on first use into its Models folder, or level the CLI at a duplicate with --model.

Xcode — open the Xcode challenge positioned right here:

Audionaut/Builds/MacOSX/Audionaut.xcodeproj

Visual Studio 2026 — open the Visual Studio resolution positioned right here:

Audionaut/Builds/VisualStudio2026/Audionaut.sln

Linux Makefile — set up dependencies:

sudo apt set up libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype-dev libfontconfig1-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.1-dev libglu1-mesa-dev mesa-common-dev libxi-dev libegl-dev

then compile:

cd Audionaut/Builds/LinuxMakefile/
make CONFIG=Release -j8

See the Catch2 tests README.

Command-line software (audionaut-cli)

audionaut-cli offers scripts, CI and AI brokers headless entry to .audium
initiatives — no GUI, no audio machine. It builds alongside the assessments:

cmake -B construct -S Audionaut/Catch2Tests
cmake --build construct -j8 --target AudionautCli
./construct/AudionautCli_artefacts/AudionautCli --help

Every command takes --json to emit precisely one machine-readable consequence
envelope on stdout ({"ok": true, "consequence": ...} or {"ok": false, "error": ...}) with all logging on stderr, plus --quiet. Exit codes: 0 success,
1 operation failed, 2 utilization error, 3 function unavailable on this construct
(e.g. analyze with out Essentia). Option values could also be given as --opt worth
or --opt=worth.

audionaut-cli create  music.audium --channels 2
audionaut-cli import  music.audium take1.wav take2.wav --position 4.5
audionaut-cli data    music.audium --json
audionaut-cli analyze music.audium --types sbic,beat_degara
audionaut-cli auto-edit music.audium --track 0 --measures 4
audionaut-cli assemble  music.audium --duration 60 --mode random
audionaut-cli cut up   music.audium --at 23              # bar 23; --unit beats|seconds|clocks
audionaut-cli create-region music.audium --name refrain --start 17 --end 25
audionaut-cli set-region  music.audium --region refrain --rename drop --length 8
audionaut-cli place-clip  music.audium --region drop --at 33
audionaut-cli move-clip   music.audium --region drop --to 41
audionaut-cli remove-clip music.audium --at 41 --track 0
audionaut-cli clip-gain   music.audium --region drop --gain -6 --db
audionaut-cli clip-fades  music.audium --region drop --fade-in 1 --fade-out 2 --unit beats
audionaut-cli separate  music.audium --track 1                  # Drums/Bass/Other/Vocals tracks; wants the Demucs mannequin
audionaut-cli export  music.audium -o combine.wav --sample-rate 48000 --bit-depth 24

A typical agent stream: create → import → analyze → auto-edit/assemble
→ export, checking ok in every --json envelope. Projects written by the
CLI open within the GUI app and vice versa.

End-user documentation lives within the User Manual.

CLI invocations report nameless utilization statistics beneath the identical strictly
opt-in consent because the app (one cli_command occasion: verb and exit code) —
nothing is distributed until consent was granted within the app’s settings. Set
AUDIONAUT_DISABLE_ANALYTICS=1 to change the CLI’s reporting off regardless
(CI environments, scripts).

The important Audionaut app additionally accepts the identical verbs (Projucer-style): run
the app binary with a verb and it executes headlessly and quits with the
command’s exit code, even whereas a GUI occasion is open — a file argument or
no arguments launches the GUI as regular.

./Audionaut.app/Contents/MacOS/Audionaut export ~/Music/music.audium -o ~/Music/combine.wav

Note: the macOS app is sandboxed, so its in-app CLI can solely attain
entitlement-covered areas equivalent to ~/Music; the standalone
audionaut-cli construct has no such restriction. On Windows, the app is a GUI
program — the shell immediate returns instantly and output interleaves with
it; favor audionaut-cli for scripting there.

Audionaut is dual-licensed beneath GPL3 (or later) and a business license — see LICENSE.md for particulars.

Contributions are welcome — see CONTRIBUTING.md for the best way to get began and the required Contributor License Agreement (CLA.md).

If Audionaut is helpful to you, contemplate sponsoring its development — sponsorship straight funds improvement time and retains the challenge sustainable.



Source link