A lightweight, customizable FFT visualizer for audio files. Built with Rust + Bevy.
cargo install fftviz
brew tap gursi26/fftviz
brew install fftviz
- Run fftviz with a path to an audio file.
fftviz "path/to/audio/file.mp3"
-
Keybinds:
q
to quite
for config gui
-
Run with
-h
flag for configuration options
fftviz -h
A lightweight, customizable FFT visualizer for audio files.
Usage: fftviz [OPTIONS] <FILE_PATH>
Arguments:
<FILE_PATH> File path to Audio file
Options:
--fft-fps <FFT_FPS>
Temporal resolution for FFT calculation (rendering always occurs at 60 fps with interpolation) [default: 12]
--bar-smoothness <BAR_SMOOTHNESS>
Smoothing factor for spatial interpolation between bars [default: 1]
--freq-resolution <FREQ_RESOLUTION>
Number of individual frequencies detected by the FFT [default: 90]
--min-freq <MIN_FREQ>
Maximum frequency detected by FFT [default: 0]
--max-freq <MAX_FREQ>
Minimum frequency detected by FFT [default: 5000]
--averaging-window <AVERAGING_WINDOW>
Size of averaging window (larger = less movement) [default: 1]
--width <WINDOW_WIDTH>
Window width [default: 1000]
--height <WINDOW_HEIGHT>
Window height [default: 700]
--border-size <BORDER_SIZE>
Border size for each bar [default: 1]
--border-color <BORDER_COLOR>
Border color for each bar (in hex) [default: 000000]
--bar-color <BAR_COLOR>
Color for each bar (in hex) [default: FF0000]
--track-name
Use if you want track name to be printed
--display-gui
Use if you want the gui to be open when launched
--text-color <TEXT_COLOR>
Color for currently playing text (in hex) [default: FFFFFF]
--font-size <FONT_SIZE>
Font size of currently playing label [default: 25]
--background-color <BACKGROUND_COLOR>
[default: 000000]
-h, --help
Print help
-V, --version
Print version