Why Did I Build This?
"Browser-based audio editors suffer from severe memory limitations, while professional DAWs are often overly complex for rapid podcast editing, voiceover mixing, or quick trimming. I engineered AudioLoom to provide a lightning-fast, native desktop alternative. By utilizing Tauri's lightweight WebView combined with a multi-threaded Rust backend that aggressively wraps headless FFmpeg commands, the application delivers the raw processing power of a native C++ editor with the UI flexibility of a modern Svelte web app. It is designed for creators who need to quickly mix, pan, trim, and export multi-track audio without the bloat of traditional DAWs."
Architecture & Decisions
The architecture bridges a reactive Svelte 5 frontend with a multi-threaded Rust/Tauri backend. The UI relies on `wavesurfer.js` for visual, hardware-accelerated DOM rendering of audio buffers. However, the actual audio playback, stereo panning (`StereoPannerNode`), and volume scaling (`GainNode`) are intercepted and routed explicitly through the native Web Audio API for zero-latency preview and synchronization. Heavy, non-blocking I/O operations—such as multi-track concatenation, sample-rate conversion, and region extraction—are offloaded to the Rust backend. Rust spawns isolated `tokio::process::Command` tasks targeting a bundled FFmpeg binary, completely preventing the frontend event loop from freezing during massive WAV/FLAC compilations.
Key Features
- 01.Multi-track mixing engine featuring real-time Stereo Pan (L/C/R) and Gain control
- 02.Non-destructive audio region editing (Cut/Trim) executed safely via native FFmpeg subprocesses
- 03.Hardware-accelerated waveform rendering utilizing `wavesurfer.js` and custom DOM observers
- 04.Dynamic custom theming engine mapped via Tailwind v4 CSS variables (Modern, Retro, Ghibli, etc.)
- 05.Multi-format mixdown protocol supporting direct exports to WAV, FLAC, MP3, OGG, and AAC