Aurora Visualizer is a Tauri v2 + Svelte 5 desktop music visualizer styled with Aurora Core. Rust captures system audio and runs the FFT/DSP pipeline; a WebGL2 engine renders 17 shader-driven scenes with cinematic post-processing, beat detection, and 400ms crossfades between modes.
Try it live — the browser demo starts on a synthetic 120 BPM groove so there is always something to look at, and one click switches it to your microphone.
Why it exists
I missed the Winamp-and-Milkdrop era, when playing music came with something worth staring at. Modern players dropped the visualizer, so I built the one I wanted: native, GPU-rendered, aware of the actual beat, and dressed in the same Aurora aesthetic as the rest of my tools.
Highlights
- 17 visualization modes — aurora curtains, a spiral nebula, a demoscene bass tunnel, a synthwave cityscape, flame, matrix rain, and more — each a self-contained WebGL2 program.
- Spotify integration with full playback controls, queue, album art, and an accent tint derived live from the current album cover.
- Auto-cycle that rotates modes on a timer or on sustained shifts in musical energy.
- Adaptive render scale and configurable target FPS (60/120/144) so it stays smooth on any display.
- Per-mode visual parameters with save/load/import/export presets.
- A full web build at visualizer.justinreda.com driven by Web Audio instead of the Rust backend.
Technical approach
Rust owns audio capture and DSP: FFT, a 64-bin Mel-scale spectrum, AGC normalization, bass/mid/treble splits, and beat detection, streamed to the frontend as frames over Tauri events. The renderer never talks to Tauri directly — it takes an injected AudioSource, so the desktop app, the browser demo (Web Audio microphone with a JS port of the Rust DSP), and a synthetic signal generator all drive the exact same engine. Post-processing (bloom + vignette) is per-mode; shaders that already produce their own glow opt out.


