Why Did I Build This?
"Standard browser-based audio editors hit strict memory constraints, while professional DAWs are massively over-engineered for simple podcast editing, voiceover mixing, or rapid trimming. AudioLoom was built to bridge this gap, merging the UI flexibility of Svelte with the raw hardware execution capabilities of Rust and Tauri."
Architecture & Decisions
The frontend leverages Svelte 5 runes (`$state`, `$derived`) for highly reactive state management. Hardware-accelerated waveform rendering is handled via `wavesurfer.js`, while audio playback is strictly routed through the native Web Audio API (`GainNode`, `StereoPannerNode`) to guarantee zero-latency playback and prevent multi-track drift. Heavy, blocking I/O operations—such as region cutting, trimming, and multi-track mixdowns—are offloaded to the Tauri Rust backend. Rust uses `tokio` to spawn isolated, non-blocking FFmpeg subprocesses, ensuring the frontend event loop remains buttery smooth during massive file mutations.
Key Features
- 01.Real-time multi-track mixing engine with independent volume, L/C/R panning, solo, and mute parameters
- 02.Hardware-accelerated DOM rendering for interactive waveform visualization and region mapping
- 03.Non-destructive audio region processing (cut/trim) driven by asynchronous Tokio-backed FFmpeg execution
- 04.Advanced multi-track mixdown protocols supporting parametric panning across WAV, MP3, FLAC, OGG, and AAC exports
- 05.Dynamic Tailwind CSS v4 theme engine with persistent local I/O synchronization