Audio Ninja is a desktop app for precision audio segmentation. Load any media file (MP4, MP3, WAV, FLAC, OGG, or AAC), place markers on an interactive waveform, and define named segments with exact timestamps — then export your annotations for downstream use. Built with Tauri, Svelte, and Rust, it runs natively on macOS and Windows with no browser required.
User and developer documentation for the app is available in the docs.
- Go to the Audio Ninja GitHub Releases page.
- Click on Tags and download the installer for your operating system:
- macOS: download the
.dmgfile. - Windows: download the
.msifile. - Linux: download the
.debfile.
- macOS: download the
- Open the downloaded installer and install Audio Ninja like a normal desktop application.
- Launch Audio Ninja, import a supported media file, add markers and segments, then export your annotations.
For walkthroughs of the application workflow, see the user documentation.
Audio Ninja is a Tauri v2 desktop application with a SvelteKit frontend and a Rust backend.
Install the required tools first:
- Node.js v18 or newer, which includes
npm - Rust, installed through
rustup - Tauri v2 system prerequisites for your operating system
- Windows only: Microsoft Visual Studio C++ Build Tools, as described in the Tauri prerequisites
Then clone and run the app:
git clone https://github.com/Comp523-Team-E/audio-ninja.git
cd audio-ninja
npm install
npm run tauri devThe Tauri development command starts the Svelte frontend, builds the Rust backend, and opens the desktop app. It also runs the FFmpeg sidecar setup script automatically. If you need to refresh FFmpeg manually, run:
npm run download-ffmpegUseful development commands:
npm run check # Type-check the Svelte/TypeScript frontend
npm test # Run frontend unit tests with Vitest
npm run coverage # Generate frontend test coverage
npm run tauri -- build # Build distributable desktop packagesRust backend tests are run from the Tauri project directory:
cd src-tauri
cargo testFor more detailed setup, build, and testing notes, see the developer documentation, especially Building and Testing.