Skip to content

programmersd21/my_cava_dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌿 Cava β€” Verdant Aqua

god-tier terminal audio visualizer config Β· deep-V EQ Β· unique patterns per genre Β· cross-platform

Demo

A hand-tuned cava configuration built for maximum visual drama. Every genre produces a visually distinct pattern β€” EDM erupts with towering bass walls and crackling treble spikes, jazz breathes with warm low columns and delicate wisps, classical sweeps luminous mid-range arches. No two songs look the same.

  β–ˆβ–ˆβ–   β–β–ˆβ–ˆ       β–β–ˆβ–ˆβ–   β–β–ˆβ–ˆβ–      β–β–ˆβ–ˆβ–ˆβ–
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–β–β–ˆβ–ˆβ–ˆβ–ˆβ–   β–β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–β–β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–β–β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

Palette β€” Verdant Aqua

Stop Hex Role
1 #071109 Bar roots β€” near-black forest floor
2 #0D4025 Sub-bass β€” deep undergrowth
3 #1A9C6B Bass β€” rich forest-to-teal
4 #2ED8A2 Midrange β€” vivid emerald
5 #00E1C0 High-mids β€” pure aquamarine
6 #00F6D8 Presence β€” bright cyan-aqua
7 #50FFF0 Air β€” electric seafoam
8 #AAFFF0 Peaks β€” crystalline near-white aqua

Background: #0B1A14 β€” dark forest floor, zero bleed.


What makes it unique

Deep-V EQ curve β€” the single biggest driver of visual variety. Sub-bass bands are boosted to 2.8Γ—, the mid-range is scooped to 0.2Γ—, and the air band fires at 2.9Γ—. This creates a visual canyon in the center so bass and treble columns fire completely independently. Every genre literally looks different:

Genre Visual pattern
EDM / Trap Massive bass towers at center, crackling treble spikes at edges
Rock Kick punches up center, guitar presence sits mid-low
Jazz Warm low columns, delicate treble wisps at the flanks
Classical Sweeping mid-range architecture, gentle luminous peaks
Lo-fi Slow rolling hills, almost no treble activity

noise_reduction = 40 β€” fast and reactive. Every drum hit, pluck, and stab snaps to a distinct visual event instead of blurring into the previous frame.

reverse = 1 + stereo β€” treble lives at the outer edges, bass in the center. Kick drums produce a W-shaped crown that collapses back down; hi-hat rolls fire bright spikes at both flanks simultaneously.

waves = 1 + monstercat = 1 β€” bar tops flow into soft organic curves instead of hard block steps.


Installation

Requires Python 3.8+ β€” no external dependencies.

# Clone
git clone https://github.com/programmersd21/my_cava_dotfiles.git
cd my_cava_dotfiles

# Install (interactive β€” backs up existing config automatically)
python install.py

# Or force-overwrite silently
python install.py --force

# Preview what would happen without touching anything
python install.py --dry-run

# Restore your old config
python install.py --uninstall

What the installer does

OS Config location
Windows %APPDATA%\cava\config
macOS ~/.config/cava/config (or $XDG_CONFIG_HOME/cava/config)
Linux ~/.config/cava/config (or $XDG_CONFIG_HOME/cava/config)
  • Detects your OS automatically
  • Backs up any existing config with a timestamp before overwriting
  • Checks whether cava is in your PATH and prints install instructions if not
  • Prints OS-specific audio input guidance after installing

Installing cava

Windows
# Via Scoop (recommended)
scoop bucket add extras
scoop install cava

Or download a pre-built binary from the GitHub releases page.

Cava on Windows captures system audio automatically via WASAPI loopback β€” no audio configuration needed.

macOS
brew install cava

To capture system audio (not just microphone), install BlackHole:

brew install blackhole-2ch

Then set your Mac's output to BlackHole, and set cava's input to portaudio. The installer will remind you.

Linux
# Ubuntu / Debian
sudo apt install cava

# Arch / Manjaro
sudo pacman -S cava
# or from AUR: yay -S cava-git

# Fedora
sudo dnf install cava

# Nix
nix-env -iA nixpkgs.cava

After installing, uncomment the correct input method in the config:

[input]
method = pipewire   # modern systems
; method = pulse    # PulseAudio
; method = alsa     # bare ALSA
source = auto

Terminal recommendations

For the best visual experience:

Setting Recommendation
Background #0B1A14 β€” match the config background exactly
Font Iosevka, Maple Mono, or any Nerd Font β€” soft block glyph geometry reads closest to rounded bars
Font size 8–10pt β€” more rows = taller bars = more gradient visible
Terminal Windows Terminal, kitty, WezTerm, Alacritty β€” all support synchronized_sync

Config structure

my_cava_dotfiles/
β”œβ”€β”€ config/
β”‚   └── cava/
β”‚       └── config          ← the actual cava config
β”œβ”€β”€ themes/
β”‚   └── verdant_aqua.md     ← palette reference card
β”œβ”€β”€ demo/
β”‚   └── demo.gif            ← the demo of the dotfile
β”œβ”€β”€ install.py              ← cross-platform installer
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
└── .github/
    └── ISSUE_TEMPLATE/
        └── bug_report.md

Customisation

The config is heavily commented β€” every value explains what it does and why. Key things to tweak:

sensitivity = 150    # raise for quiet sources, lower for loud systems
noise_reduction = 40 # lower = snappier, higher = smoother/more fluid
framerate = 120      # match your monitor's refresh rate

To change the palette, edit the gradient_color_1 through gradient_color_8 values. Any hex colours work.


License

MIT β€” do whatever you want with it.


made with 🌿 for people who care about their terminal

Releases

No releases published

Packages

 
 
 

Contributors

Languages