karlstav/cava

Cross-platform Audio Visualizer

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 49 minutes ago
Added to GitGenius on September 10th, 2026
Created on March 16th, 2014
Open Issues & Pull Requests: 18 (+0)
GitHub issues: Enabled
Number of forks: 298
Total Stargazers: 6,411 (+0)
Total Subscribers: 41 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.6 hours
Mean response time: 11.1 days
90th percentile: 6.0 days
Tracked items: 157

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 69% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 481 days
Stale 30+ days: 14
Stale 90+ days: 8

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (2)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Cava is a cross-platform audio visualizer that renders real-time frequency spectrum displays in the terminal or graphical windows.

The tool solves the problem of visualizing audio output in a lightweight, portable way. It captures audio from system sources and computes frequency analysis to display animated bars or waveforms that respond to sound. The approach works by connecting to various audio backends available on each platform—ALSA, PulseAudio, and PipeWire on Linux; sndio on BSD systems; CoreAudio on macOS; and PortAudio on Windows—then performing FFT analysis and rendering the results either as ncurses terminal output or through SDL2 graphics with optional GLSL shader effects.

Cava suits developers and users who want a minimal, scriptable audio visualization tool that runs on any major operating system without heavy dependencies. It works well in headless environments, embedded systems, or as a component in larger audio applications. The terminal rendering mode makes it suitable for remote systems over SSH, while the graphical mode provides more visual polish for desktop use. Those seeking a feature-rich GUI music player with visualization should look elsewhere; this tool focuses narrowly on the visualization layer itself.

The project maintains active support across multiple platforms and audio systems, indicating ongoing effort to keep pace with evolving audio infrastructure. Development includes regular updates to handle changes in audio subsystems and platform APIs. The codebase shows responsiveness to user-reported issues and compatibility problems across different operating systems and audio configurations. Contributions are accepted for bug fixes and new features, with the project demonstrating willingness to integrate improvements from the community.