Desktop Application
Open Source

AudioLoom v4.0: Tauri & Svelte Audio DAW

RustTypeScriptCSSSvelteTauriSvelteTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

A cross-platform desktop Digital Audio Workstation (DAW) built with Tauri and Svelte. Features multi-track mixing, real-time waveform rendering, precise region cutting/trimming via FFmpeg, and a heavily optimized Web Audio API playback engine.

Tech Stack

RustTypeScriptCSSSvelteTauriSvelteTailwind CSS v4FFmpegWaveSurfer.jsWeb Audio APITokio

System Metrics

FFmpeg operations are executed via non-blocking Tokio tasks, guaranteeing absolute UI fluidity during heavy multi-track rendering
The Tauri application footprint consumes drastically less RAM and CPU overhead compared to traditional Electron-based DAWs
Bypassing default HTML5 Audio in favor of low-level Web Audio API routing eliminates playback synchronization drift across multiple tracks

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
This application serves as a demonstration of high-performance desktop engineering, seamlessly fusing web technologies with raw system binaries. By maintaining a strict separation of concerns—where Svelte handles the reactive UI states (like drag-to-resize sidebars and theme hydration) and Rust handles the heavy audio manipulation and filesystem caching—the tool provides a professional-grade editing experience. The implementation of an undo stack (memory-safe audio state history) and global keyboard shortcut hooks reflects a deep understanding of standard DAW UX paradigms.