#visualizer #music #audio #graphics

app coffeevis

A simple graphical audio visualizer mainly for Linux

4 releases (2 breaking)

0.4.0 Jun 11, 2023
0.3.0 Jul 10, 2022
0.2.1 Jun 12, 2022
0.2.0 Jun 12, 2022

#98 in Visualization

MIT license


Coffee Music Visualizer

A small GUI + TUI music visualizer written in Rust.

Examples (may be old):

console mode windowed mode

Platform support

Coffeevis is built for and runs on Linux. Windows, MacOS and BSD support is not available.


Run cargo install coffeevis


Coffeevis supports temporary options at launch

Option Value (example) Description
--win opens as a window
runs in the terminal
--auto-switch true
toggles auto visualizer switching
--size 80x80 sets resolution in window mode
--scale 2 upscales in window mode
--fps 60 sets refresh rate
--resizable allows resizing in window mode (not recommended)
--max-con-size 50x50 sets maximum resolution in terminal mode

Currently reading from a file is not supported. It is recommended to launch coffeevis in a script.


Coffeevis prints text directly to stdout, rendering may be heavy depending on your terminal.

A terminal with GPU-accelerated support is recommended (i.e Alacritty, Kitty, Wezterm, ...)

A maximum resolution is built into the console mode (default: 50x50). Coffeevis will render in the center of the screen if terminal dimensions are larger than the limit.

Keyboard shortcuts


Key Descripttion
Space iterates through visualizers
q exits
/ resets all settings
- / + decreases/increases input volume
[ / ] decreases/increases spectrum roughness
; / ' decreases/increases amount of samples into input (works for wave-based visualizers only)
\ toggles auto switching (default: ON, 8 seconds)

Terminal mode

Key Descripttion
. toggles between ascii rendering, block rendering and braille rendering
9 / 0 decreases/increases maximum resolution
7 / 8 decreases/increases fps by 5 (default: 60)
1 ... 6 changes fps to 10 ... 60 respectively


~523K SLoC