{"id":40090841,"url":"https://github.com/mr-u0b0dy/audio-ninja","last_synced_at":"2026-01-19T10:03:32.138Z","repository":{"id":330793842,"uuid":"1123969342","full_name":"mr-u0b0dy/audio-ninja","owner":"mr-u0b0dy","description":"Wireless Immersive Audio Platform with IAMF Support","archived":false,"fork":false,"pushed_at":"2026-01-16T06:50:33.000Z","size":8091,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-16T21:59:06.663Z","etag":null,"topics":["atmos","audio","audio-calibration","audio-engine","dolby-atmos","iamf","room-correction","sound","spatial-audio","speaker","surround-sound"],"latest_commit_sha":null,"homepage":"https://mr-u0b0dy.github.io/audio-ninja/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mr-u0b0dy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-28T03:07:36.000Z","updated_at":"2026-01-16T06:50:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mr-u0b0dy/audio-ninja","commit_stats":null,"previous_names":["mr-u0b0dy/audio-ninja"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mr-u0b0dy/audio-ninja","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-u0b0dy%2Faudio-ninja","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-u0b0dy%2Faudio-ninja/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-u0b0dy%2Faudio-ninja/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-u0b0dy%2Faudio-ninja/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mr-u0b0dy","download_url":"https://codeload.github.com/mr-u0b0dy/audio-ninja/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-u0b0dy%2Faudio-ninja/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28565056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atmos","audio","audio-calibration","audio-engine","dolby-atmos","iamf","room-correction","sound","spatial-audio","speaker","surround-sound"],"created_at":"2026-01-19T10:03:32.077Z","updated_at":"2026-01-19T10:03:32.129Z","avatar_url":"https://github.com/mr-u0b0dy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audio Ninja 🥷\n\n![Audio Ninja Banner](assets/github/banner.png)\n\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![Rust](https://img.shields.io/badge/rust-1.70%2B-orange.svg)](https://www.rust-lang.org/)\n[![CI](https://github.com/mr-u0b0dy/audio-ninja/workflows/CI/badge.svg)](https://github.com/mr-u0b0dy/audio-ninja/actions)\n[![codecov](https://codecov.io/gh/mr-u0b0dy/audio-ninja/branch/main/graph/badge.svg)](https://codecov.io/gh/mr-u0b0dy/audio-ninja)\n\nAudio Ninja is an IAMF-first wireless immersive audio platform with a daemon-first engine, thin clients, and a full calibration + DSP pipeline.\n\n## Highlights\n- Daemon exposes a REST API on port 8080; GUI (Tauri) and CLI are thin clients\n- 3D spatial rendering: IAMF, VBAP, HOA, and HRTF binaural downmix\n- UDP/RTP transport with PTP/NTP clock sync, jitter buffer, and XOR FEC\n- Calibration and DSP: sweeps, IR analysis, delays, trims, EQ, loudness, and DRC\n- Built-in discovery (mDNS), BLE control plane, and flexible speaker layouts (2.0 to 9.1.6+)\n- CI-backed workspace with fuzzing, benches, and 250+ tests\n\n## Architecture\n```mermaid\nflowchart LR\n  Clients[GUI / CLI / HTTP] --\u003e Daemon[audio-ninja-daemon\u003cbr/\u003eREST 8080]\n  Daemon --\u003e Core[audio-ninja core\u003cbr/\u003eIAMF, render, DSP]\n  Core --\u003e Transport[UDP/RTP transport\u003cbr/\u003eclock sync + FEC]\n  Transport --\u003e Speakers[Speakers /\u003cbr/\u003eHeadphones]\n```\n\n## Quick Start\n- Prerequisites: Rust 1.70+, Linux GUI deps (`webkit2gtk-4.0`, `gtk3`, `openssl`)\n\n```bash\ngit clone https://github.com/mr-u0b0dy/audio-ninja.git\ncd audio-ninja\n./scripts/dev-setup.sh    # installs deps, builds workspace\ncargo run -p audio-ninja-daemon --release\ncargo run -p audio-ninja-cli --release -- status\n```\n\n## Workspace Commands\n- make dev - fmt + clippy + tests\n- make run-daemon - launch daemon\n- make run-gui - launch Tauri GUI\n\n## Documentation\n\n### Quick Links\n- 📖 **[Full Documentation Site](docs-site/)** - Complete VuePress site with guides and API reference\n- 🚀 **[Quick Start Guide](docs-site/src/guide/quick-start.md)** - Get up and running in 5 minutes\n- 🎯 **[Installation Guide](docs-site/src/guide/installation.md)** - Platform-specific setup\n- 🔌 **[REST API Reference](docs-site/src/api/reference.md)** - Complete API documentation\n- 🎨 **[GUI Design System](docs-site/src/design/design-system.md)** - Design guidelines and CSS components\n\n### Component Documentation\n- **Daemon**: [crates/daemon/README.md](crates/daemon/README.md) - REST API service\n- **CLI**: [crates/cli/README.md](crates/cli/README.md) - Command-line interface\n- **Core**: [crates/core/](crates/core/) - Audio processing library\n\n## Status\n- Completed: IAMF pipeline, VBAP/HOA/HRTF, calibration + DSP, UDP/RTP transport, CLI/GUI clients\n- In progress: libiamf/AOM integration, FFmpeg bindings, expanded GUI features\n\n## Future Plans\n\n### Phase 2: GUI Refactoring \u0026 Branding (5 weeks, 40-50 hours)\n✅ **Architecture Complete \u0026 Production-Ready** — All backend dependencies ready for frontend work\n\n- **Logo \u0026 Theme**: Integrate professional logo (assets/logo.png) with Magma Orange color scheme\n- **I/O Controls**: Device selection panels, audio source routing\n- **Transport Panel**: File loading, play/pause/stop, mode selection (file/stream/mixed)\n- **Layout Visualization**: 3D speaker layout with preset configurations (2.0 → 9.1.6)\n- **Calibration UI**: Sweep controls, IR visualization, filter design preview\n- **Stats Dashboard**: Real-time metrics (latency, packet loss, sync error, CPU/memory)\n\nSee [docs-site/src/design/phase2-tasks.md](docs-site/src/design/phase2-tasks.md) for 43 implementation tasks.\n\n### Phase 3: Backend Audio I/O Implementation (3-4 months, 95-135 hours)\nProduction-ready trait-based abstraction ready for real audio backends\n\n- **ALSA Bindings** (Linux): PCM device I/O, device enumeration, format negotiation (20-30 hours)\n- **PulseAudio Bindings**: System audio routing, app-specific routing, fallback handling (15-20 hours)\n- **CoreAudio Bindings** (macOS): HAL device abstraction, device detection (20-30 hours)\n- **FFmpeg Codec Support**: Opus, AAC, FLAC, AC-3, E-AC-3, TrueHD decoding (25-35 hours)\n- **Testing \u0026 Optimization**: Unit/integration tests, latency profiling, cross-platform validation (15-20 hours)\n\nSee [.github/copilot-instructions.md](.github/copilot-instructions.md#phase-3-backend-audio-io-implementation-production-ready) for detailed implementation plan.\n\n## License\n\nApache License 2.0. See LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-u0b0dy%2Faudio-ninja","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-u0b0dy%2Faudio-ninja","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-u0b0dy%2Faudio-ninja/lists"}