Audio Ninja is an IAMF-first wireless immersive audio platform with a daemon-first engine, thin clients, and a full calibration + DSP pipeline.
- Daemon exposes a REST API on port 8080; GUI (Tauri) and CLI are thin clients
- 3D spatial rendering: IAMF, VBAP, HOA, and HRTF binaural downmix
- UDP/RTP transport with PTP/NTP clock sync, jitter buffer, and XOR FEC
- Calibration and DSP: sweeps, IR analysis, delays, trims, EQ, loudness, and DRC
- Built-in discovery (mDNS), BLE control plane, and flexible speaker layouts (2.0 to 9.1.6+)
- CI-backed workspace with fuzzing, benches, and 250+ tests
flowchart LR
Clients[GUI / CLI / HTTP] --> Daemon[audio-ninja-daemon<br/>REST 8080]
Daemon --> Core[audio-ninja core<br/>IAMF, render, DSP]
Core --> Transport[UDP/RTP transport<br/>clock sync + FEC]
Transport --> Speakers[Speakers /<br/>Headphones]
- Prerequisites: Rust 1.70+, Linux GUI deps (
webkit2gtk-4.0,gtk3,openssl)
git clone https://github.com/mr-u0b0dy/audio-ninja.git
cd audio-ninja
./scripts/dev-setup.sh # installs deps, builds workspace
cargo run -p audio-ninja-daemon --release
cargo run -p audio-ninja-cli --release -- status- make dev - fmt + clippy + tests
- make run-daemon - launch daemon
- make run-gui - launch Tauri GUI
- 📖 Full Documentation Site - Complete VuePress site with guides and API reference
- 🚀 Quick Start Guide - Get up and running in 5 minutes
- 🎯 Installation Guide - Platform-specific setup
- 🔌 REST API Reference - Complete API documentation
- 🎨 GUI Design System - Design guidelines and CSS components
- Daemon: crates/daemon/README.md - REST API service
- CLI: crates/cli/README.md - Command-line interface
- Core: crates/core/ - Audio processing library
- Completed: IAMF pipeline, VBAP/HOA/HRTF, calibration + DSP, UDP/RTP transport, CLI/GUI clients
- In progress: libiamf/AOM integration, FFmpeg bindings, expanded GUI features
- Full roadmap (including GUI Phase 2 tasks and backend milestones) lives in docs-site/src/todo/README.md with detailed task breakdowns in docs-site/src/todo/gui-phase2-tasks.md.
Apache License 2.0. See LICENSE for details.
