Audionaut

Gebruik met Claude

Audionaut ondersteunt MCP (Model Context Protocol), waardoor Claude en andere AI-agents uw sessies kunnen bewerken. Indien de applicatie en Node.js 18+ zijn geïnstalleerd, kan dit worden geactiveerd met:

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

Houd het project open in Audionaut; elke bewerking door de AI wordt geregistreerd als één ongedaanmaakbare stap (undo step). Op macOS dienen projecten in de map 'Music' te worden bewaard. Voor meer details over de Claude Desktop-configuratie kan worden verwezen naar de handleiding, hoofdstuk 11.

Checkout

Zorg ervoor dat u de repository kloneert inclusief submodules:

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

Indien de repository al is gekloond, gebruik dan:

git submodule update --init --recursive

Essentia (audio-analyse)

De analysefuncties (BIC-segmentatie, onset-detectie, beat-tracking) maken gebruik van een statische build van de Essentia-submodule. Bouw deze één keer na het uitvoeren van de checkout van de submodules:

./Audionaut/Builds/build_essentia.sh

Dit script bouwt de third-party afhankelijkheden van Essentia statisch (dit is een traag proces en wordt overgeslagen bij herhaalde runs; forceer dit met FORCE_3RDPARTY=1). Vervolgens configureert en bouwt het script Essentia zelf met het waf-buildsysteem in Submodules/essentia/build. Het script past de Linux-georiënteerde build-scripts van Essentia aan voor macOS/Apple Silicon, waardoor de essentia-submodule daarna als 'dirty' kan verschijnen; commit deze wijzigingen niet.

Voorwaarden:

  • Python ≤ 3.11: De gebundelde waf van Essentia heeft distutils nodig, wat is verwijderd in Python 3.12. Het script selecteert automatisch een geschikte interpreter; dit kan worden overschreven met PYTHON=... ./Audionaut/Builds/build_essentia.sh.
  • pkg-config: (bijv. brew install pkg-config).
  • CMake 3.x aanbevolen: Sommige third-party afhankelijkheden gebruiken zeer oude CMakeLists die door CMake 4.x worden geweigerd (bijv. pip install "cmake~=3.31.0").

Het bouwen van Essentia is optioneel. Zonder Essentia wordt ESSENTIA_ENABLED automatisch op 'off' gezet en worden de applicatie en tests gecompileerd zonder de analysefuncties.

demucs.cpp (stem-separatie)

Stem-separatie draait via demucs.cpp, een C++ poort van Meta's Demucs, gecompileerd direct vanuit de Submodules/demucs.cpp submodule zonder aparte build-stap. Hiervoor is de in de submodule opgenomen Eigen-bibliotheek nodig (Submodules/demucs.cpp/vendor/eigen, een genestelde submodule die via --recursive wordt opgehaald). De CMake-build detecteert dit en stelt AUDIONAUTENABLEDEMUCS dienovereenkomstig in. De model-gewichten bevinden zich niet in de repository; de app downloadt deze bij eerste gebruik in de map 'Models', of u kunt de CLI naar een kopie wijzen met --model.

Bouwen (Build)

  • Xcode (macOS): Open het Xcode-project in Audionaut/Builds/MacOSX/Audionaut.xcodeproj.
  • Visual Studio 2026 (Windows): Open de Visual Studio-solution in Audionaut/Builds/VisualStudio2026/Audionaut.sln.
  • Linux Makefile: Installeer eerst de afhankelijkheden:

sudo apt install 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

Compileer vervolgens: cd Audionaut/Builds/LinuxMakefile/ make CONFIG=Release -j8

Tests

Raadpleeg de README van de Catch2-tests voor meer informatie.

Command-line tool (audionaut-cli)

De audionaut-cli biedt scripts, CI en AI-agents headless toegang tot .audium-projecten, zonder GUI of audio-apparaat. Deze wordt gebouwd samen met de tests:

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

Elk commando accepteert --json om exact één machine-leesbaar resultaat-envelope op stdout te genereren ({"ok": true, "result": ...} of {"ok": false, "error": ...}), waarbij alle logging op stderr verschijnt, aangevuld met --quiet.

Exit codes:

  • 0: succes
  • 1: operatie mislukt
  • 2: gebruiksfout
  • 3: functie niet beschikbaar in deze build (bijv. analyse zonder Essentia)

Optie-waarden kunnen worden opgegeven als --opt value of --opt=value.

Voorbeelden van CLI-commando's:

  • 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 assemble song.audium --duration 60 --mode random
  • audionaut-cli split song.audium --at 23 (maat 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 drop --length 8
  • audionaut-cli place-clip song.audium --region drop --at 33
  • audionaut-cli move-clip song.audium --region drop --to 41
  • audionaut-cli remove-clip song.audium --at 41 --track 0
  • audionaut-cli clip-gain song.audium --region drop --gain -6 --db
  • audionaut-cli clip-fades song.audium --region drop --fade-in 1 --fade-out 2 --unit beats
  • audionaut-cli separate song.audium --track 1 (Drums/Bass/Other/Vocals tracks; vereist Demucs-model)
  • audionaut-cli export song.audium -o mix.wav --sample-rate 48000 --bit-depth 24

Een typische agent-flow is: create → import → analyze → auto-edit/assemble → export, waarbij na elke stap wordt gecontroleerd op ok in de JSON-envelope. Projecten die door de CLI zijn geschreven, kunnen worden geopend in de GUI-app en vice versa.

Aanvullende CLI-informatie

  • Documentatie: Gebruikersdocumentatie is te vinden in de User Manual.
  • Privacy: CLI-aanroepen rapporteren anonieme gebruiksstatistieken onder dezelfde strikt opt-in toestemming als de app (één clicommand event: werkwoord en exit code). Er wordt niets verzonden tenzij toestemming is verleend in de app-instellingen. Gebruik AUDIONAUTDISABLE_ANALYTICS=1 om rapportage volledig uit te schakelen (bijv. in CI-omgevingen).
  • GUI Integratie: De hoofdapplicatie van Audionaut accepteert dezelfde werkwoorden (Projucer-stijl). Door de app-binary met een werkwoord uit te voeren, wordt dit headless uitgevoerd en stopt het programma met de exit code van het commando, zelfs als er een GUI-instantie openstaat. Een bestandsargument of geen argumenten start de GUI zoals gebruikelijk.
  • Voorbeeld: ./Audionaut.app/Contents/MacOS/Audionaut export ~/Music/song.audium -o ~/Music/mix.wav
  • OS Beperkingen: De macOS-app is gesandboxed, waardoor de in-app CLI alleen locaties kan bereiken die binnen de entitlements vallen (zoals ~/Music). De standalone audionaut-cli build heeft deze beperking niet. Op Windows is de app een GUI-programma; de shell-prompt keert direct terug en output raakt vermengd. Voor scripting op Windows geniet audionaut-cli de voorkeur.

Licentie

Audionaut is dual-licensed onder GPL3 (of later) en een commerciële licentie. Raadpleeg LICENSE.md voor details.

Bijdragen

Bijdragen worden 환영 gesteld. Zie CONTRIBUTING.md voor informatie over hoe u kunt beginnen en de vereiste Contributor License Agreement (CLA.md).

Support

Als Audionaut nuttig voor u is, kunt u overwegen de ontwikkeling te sponsoren. Sponsoring financiert direct de ontwikkeltijd en houdt het project duurzaam.