#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

125KB
3K SLoC

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.

Installation

Run cargo install coffeevis

Usage

Coffeevis supports temporary options at launch

Option Value (example) Description
--win opens as a window
--ascii
--block
--braille
runs in the terminal
--auto-switch true
false
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.

Notes

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

Global

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

Dependencies

~15–48MB
~523K SLoC