Show HN: Audionaut – an open-source cross-platform multitrack audio editor

Hacker News by 5 min read 89x views
Show HN: Audionaut – an open-source cross-platform multitrack audio editor

Share Post

A free, open-source multitrack audio publishing company that AI agents can run complete MCP.

 Claude cuts a opus all 16 bars, splits the clips throughout two tracks and closes the gaps, afterward sets crossfades and a fade-out, during the person runs Auto Edit and stem separation in the app

audionaut.app · Discussions · Sponsor

Audionaut is a free, open-source desktop use for effortless audio editing and recording. Whether you're operating on music, podcasts, or multitrack recordings, it gives you exact cutting, per-track playlists, elastic multi-channel support, and spotless exports — without the importance and complexity of a complete DAW. Audionaut is written in contemporary C++ on the JUCE example and runs natively on Windows, macOS, and Linux.

 GPL v3 macOS tests Linux build Sponsor

Audionaut speaks MCP, so Claude and another agents can edit your sessions. With the app and Node.js 18+ installed:

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

Keep the project open in Audionaut and all edit arrives as one undo step. On macOS, keep projects in your Music folder. Claude Desktop setup and details: manual, division 11.

Make certain to copy alongside submodules:

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

or formerly cloned do:

git submodule update --init --recursive 

Essentia (audio analysis)

The inspection features (BIC segmentation, onset detection, attack tracking) nexus against a fixed build of the Essentia submodule. Build it formerly following checking out the submodules:

./Audionaut/Builds/build_essentia.sh 

The manuscript builds Essentia's 3rd-party requirements statically (slow, skipped on re-runs; power alongside FORCE_3RDPARTY=1), afterward configures and builds Essentia itself alongside its waf build scheme into Submodules/essentia/build. It patches Essentia's Linux-oriented 3rd-party build scripts in the operating tree as needed for macOS/Apple Silicon, so the essentia submodule volition display as dirty afterwards — don't commit those changes.

Prerequisites:

  • Python ≤ 3.11 — Essentia's bundled waf needs distutils, removed in Python 3.12. The manuscript picks a suitable translator automatically; override alongside PYTHON=... ./Audionaut/Builds/build_essentia.sh.
  • pkg-config (e.g. beer instal pkg-config)
  • CMake 3.x recommended — several 3rd-party deps container extremely old CMakeLists that CMake 4.x refuses (e.g. pip instal "cmake~=3.31.0").

Building Essentia is optional: without it, ESSENTIA_ENABLED auto-detects off and the app and tests compile alongside the inspection features disabled.

demucs.cpp (stem separation)

Stem separation runs demucs.cpp, a C++ harbor of Meta's Demucs, compiled direct from the Submodules/demucs.cpp submodule — no distinct build step. It needs the submodule's vendored Eigen (Submodules/demucs.cpp/vendor/eigen, a nested submodule that --recursive fetches); the CMake build detects it and sets AUDIONAUT_ENABLE_DEMUCS accordingly. The example weights are not in the repository: the app downloads them on archetypal use into its Models folder, or item the CLI at a copy alongside --model.

Xcode — open the Xcode project located here:

Audionaut/Builds/MacOSX/Audionaut.xcodeproj 

Visual Studio 2026 — open the Visual Studio resolution located here:

Audionaut/Builds/VisualStudio2026/Audionaut.sln 

Linux Makefile — instal dependencies:

sudo apt instal 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 tool (audionaut-cli)

audionaut-cli gives scripts, CI and AI agents headless admission to .audium projects — no GUI, no audio device. It builds alongside the tests:

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

Every command takes --json to emit exactly one machine-readable result envelope on stdout ({"ok": true, "result": ...} or {"ok": false, "error": ...}) alongside all logging on stderr, affirmative --quiet. Exit codes: 0 success, 1 procedure failed, 2 use error, 3 characteristic unavailable in this build (e.g. analyze without Essentia). Option values may be stated as --opt value or --opt=value.

audionaut-cli create song.audium --channels 2 audionaut-cli import song.audium take1.wav take2.wav --position 4.5 audionaut-cli info song.audium --json audionaut-cli analyze song.audium --types sbic,beat_degara audionaut-cli auto-edit song.audium --track 0 --measures 4 audionaut-cli collect song.audium --duration 60 --mode random audionaut-cli divided song.audium --at 23 # bar 23; --unit beats|seconds|clocks audionaut-cli create-region song.audium --name chorus --start 17 --end 25 audionaut-cli set-region song.audium --region chorus --rename autumn --length 8 audionaut-cli place-clip song.audium --region autumn --at 33 audionaut-cli move-clip song.audium --region autumn --to 41 audionaut-cli remove-clip song.audium --at 41 --track 0 audionaut-cli clip-gain song.audium --region autumn --gain -6 --db audionaut-cli clip-fades song.audium --region autumn --fade-in 1 --fade-out 2 --unit beats audionaut-cli distinct song.audium --track 1 # Drums/Bass/Other/Vocals tracks; needs the Demucs model audionaut-cli export song.audium -o mix.wav --sample-rate 48000 --bit-depth 24 

A representative delegate flow: create → import → analyze → auto-edit/assemble → export, checking ok in all --json envelope. Projects written by the CLI open in the GUI app and vice versa.

End-user records lives in the User Manual.

CLI invocations study anonymous use data under the identical strictly opt-in consent as the app (one cli_command event: verb and exit code) — nothing is sent unless consent was granted in the app's settings. Set AUDIONAUT_DISABLE_ANALYTICS=1 to toggle the CLI's reporting off regardless (CI environments, scripts).

The main Audionaut app additionally accepts the identical verbs (Projucer-style): run the app binary alongside a verb and it executes headlessly and quits alongside the command's exit code, equal during a GUI case is open — a document disagreement or no arguments launches the GUI as usual.

./Audionaut.app/Contents/MacOS/Audionaut export ~/Music/song.audium -o ~/Music/mix.wav 

Note: the macOS app is sandboxed, so its in-app CLI can lone reach entitlement-covered locations specified as ~/Music; the standalone audionaut-cli build has no specified restriction. On Windows, the app is a GUI program — the casing immediate returns immediately and output interleaves with it; favor audionaut-cli for scripting there.

Audionaut is dual-licensed under GPL3 (or later) and a business licence — see LICENSE.md for details.

Contributions are greeted — see CONTRIBUTING.md for how to get started and the required Contributor License Agreement (CLA.md).

If Audionaut is helpful to you, regard sponsoring its development — sponsorship immediately finances betterment period and keeps the project sustainable.

Other Article Hacker News
↑
Close Right Ads
Close Left Ads