snglrtty - audio pulled into the terminal, no escape
Terminal audio visualizer. Reads live audio from PulseAudio, renders a circular spectrum analyzer in your TTY using ASCII characters and ANSI colors.
Captures system audio via the PulseAudio monitor source and draws a radial spectrum — a ring of frequency bars pulsing outward from a center circle. Looks like a black hole eating sound.
Default
Ghost Mode and higher decay on Catppuccin Mocha Shell
Fire Theme
- Linux with PulseAudio (or PipeWire + PulseAudio compatibility layer)
pactlin$PATH- Rust toolchain
Download the latest package for your distribution from the GitHub Releases page:
| Distribution | Package | Install command |
|---|---|---|
| Debian / Ubuntu | snglrtty_<version>_amd64.deb |
sudo dpkg -i snglrtty_*.deb |
| Fedora / RHEL | snglrtty-<version>-1.x86_64.rpm |
sudo rpm -i snglrtty-*.rpm |
| Arch Linux | snglrtty-<version>-1-x86_64.pkg.tar.zst |
sudo pacman -U snglrtty-*.pkg.tar.zst |
| Any Linux | snglrtty-<version>-x86_64-linux.tar.gz |
Extract and copy binary to your $PATH |
cargo build --release
./target/release/snglrttyOr with Make:
make && make install # install without root
make uninstall # removeMake sure audio is playing. The visualizer reads whatever your default sink is monitoring.
| Flag | Short | Default | Description |
|---|---|---|---|
--theme |
-t |
default |
Color theme (default, fire, ocean, forest, mono) |
--bars |
-b |
64 |
Number of frequency bars |
--decay |
-d |
0.8 |
Trail decay factor (0.0–1.0, higher = longer trail) |
--radius |
-r |
6.0 |
Circle radius (relative to terminal height) |
--ghost |
-g |
off | Ghost mode — bars only, no circle outline |
snglrtty --theme fire --bars 128 --ghost
snglrtty -t ocean -d 0.95 -r 8- Detects default PulseAudio sink via
pactl get-default-sink - Opens a monitor source (
<sink>.monitor) for recording - Reads 200 samples at 44100 Hz mono F32LE
- Splits samples into 64 frequency bands, averages amplitude per band
- Draws a circle + radial bars onto a 2D float buffer
- Applies 0.8× decay each frame for trail effect
- Maps amplitude to ASCII:
#+*.with ANSI colors
MIT



