kvoltmer/Audionaut: Audionaut skilled audio modifying 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 utility for easy audio modifying and recording. Whether you are engaged on music, podcasts, or multitrack recordings, it provides you exact slicing, per-track playlists, versatile multi-channel help, and clear exports — with out the load and complexity of a full DAW. Audionaut is written in fashionable 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 mission open in Audionaut and every edit arrives as one undo step. On macOS, maintain initiatives in your Music folder. Claude Desktop setup and particulars: manual, chapter 11.

Make positive 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 in opposition to 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 (gradual, skipped on re-runs; drive 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 acceptable interpreter routinely; 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-obligatory: with out it, ESSENTIA_ENABLED auto-detects off and the app and exams 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 replica with --model.

Xcode — open the Xcode mission situated right here:

Audionaut/Builds/MacOSX/Audionaut.xcodeproj

Visual Studio 2026 — open the Visual Studio answer situated 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 instrument (audionaut-cli)

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

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

A typical agent move: 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 below 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 fundamental 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 normal.

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

Note: the macOS app is sandboxed, so its in-app CLI can solely attain
entitlement-covered places corresponding 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; want audionaut-cli for scripting there.

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

Contributions are welcome — see CONTRIBUTING.md for how one can get began and the required Contributor License Agreement (CLA.md).

If Audionaut is helpful to you, think about sponsoring its development — sponsorship immediately funds growth time and retains the mission sustainable.



Source link