feat(visualizer): real-time audio FFT visualization
Backend (Rust): - Add rustfft crate for Fast Fourier Transform - Create visualizer module with FFT computation (1024 samples, Hann window) - VisualizerSource wrapper taps into audio stream without modifying playback - Logarithmic frequency bin mapping for perceptual accuracy - Emit audio-spectrum events to frontend (~20-30fps) - Tauri commands: set_visualizer_enabled, get_visualizer_enabled Frontend (Svelte): - CSS-based rendering (GPU accelerated via transform/transition) - Three visualization modes: bars, wave, mirror - Dynamic colors extracted from album artwork - Listens to audio-spectrum Tauri events - ~0% CPU usage (GPU handles all transforms)
This commit is contained in:
1 parent
fcc11e2966
commit
16b35c33fd
7 files changed
+654
-224
No files matched your search
@@ -53,6 +53,9 @@ rand = "0.8"
|
||||
rodio = { version = "0.19", features = ["symphonia-all"] }
|
||||
symphonia = { version = "0.5", features = ["all"] }
|
||||
|
||||
# Audio visualization (FFT)
|
||||
rustfft = "6.2"
|
||||
|
||||
# Media controls (MPRIS on Linux)
|
||||
souvlaki = "0.7"
|
||||
|
||||
|
||||
Reference in new issue
Block a user