Skip to content

cava

Audio frequency bars visualising the output stream.

Add it to your layout with cava:

toml
[[bar.layout]]
monitor = "*"
right = ["cava"]

General

FieldTypeDefaultDescription
barsBarCount20Number of frequency bars.
framerateFramerate60Visualization update rate in frames per second.
stereoboolfalseStereo channel visualization (splits bars between left and right).
noise-reductionNormalizedF640.65Noise reduction filter strength.
monstercatf640Monstercat-style smoothing across adjacent bars (0.0 = off).
wavesu320Wave-style smoothing (0 = off).
low-cutoffFrequencyHz50Low frequency cutoff in Hz.
high-cutoffFrequencyHz17000High frequency cutoff in Hz.
inputCavaInput"pipe-wire"Audio capture backend.
sourcestring"auto"Audio source identifier ("auto" for automatic selection).
styleCavaStyle"bars"Visualization rendering style.
directionCavaDirection"normal"Bar growth direction.
colorColorValue"accent"Bar color.
button-bg-colorColorValue"bg-surface-elevated"Module background color.
bar-widthu326Width of each frequency bar in pixels.
bar-gapu321Gap between frequency bars in pixels.
internal-paddingSpacing0.5Padding at the ends of the visualizer.
border-showboolfalseDisplay border around the visualizer.
border-colorColorValue"border-accent"Border color.
left-clickClickAction""Action on left click.
right-clickClickAction""Action on right click.
middle-clickClickAction""Action on middle click.
scroll-upClickAction""Action on scroll up.
scroll-downClickAction""Action on scroll down.

Default configuration

toml
[modules.cava]
bars = 20
framerate = 60
stereo = false
noise-reduction = 0.65
monstercat = 0.0
waves = 0
low-cutoff = 50
high-cutoff = 17000
input = "pipe-wire"
source = "auto"
style = "bars"
direction = "normal"
color = "accent"
button-bg-color = "bg-surface-elevated"
bar-width = 6
bar-gap = 1
internal-padding = 0.5
border-show = false
border-color = "border-accent"
left-click = ""
right-click = ""
middle-click = ""
scroll-up = ""
scroll-down = ""

Released under the MIT License.