Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Audio Visualization
  3. Clubber.js

Clubber.js

MITJavaScript

A JavaScript library that analyzes audio rhythms using music theory to drive audio-reactive visualizations.

Visit WebsiteGitHubGitHub
375 stars23 forks0 contributors

What is Clubber.js?

Clubber is a JavaScript library that analyzes audio to extract rhythmic information by converting frequency energies into MIDI notes, applying music theory principles for better audio segregation. It provides a set of measurements ideal for driving audio-reactive visualizations, particularly in WebGL shaders, enabling developers to create dynamic graphics synchronized with music.

Target Audience

Creative developers and visual artists building audio-reactive visualizations, music visualizers, or interactive WebGL experiences that respond to audio input in real-time.

Value Proposition

Developers choose Clubber for its music theory-based approach to audio analysis, which offers more meaningful rhythmic data than traditional FFT methods, and its seamless integration with WebGL shaders for high-performance visual modulation.

Overview

Application of music theory in audio reactive visualizations

Use Cases

Best For

  • Creating real-time audio-reactive WebGL visualizations
  • Building music visualizers for live performances or web apps
  • Prototyping audio-driven animations with the Clubber Tool
  • Analyzing rhythmic patterns in music for creative coding projects
  • Driving parameters in external software via MIDI control change messages
  • Developing interactive installations that respond to audio input

Not Ideal For

  • Projects requiring simple volume meters or basic audio visualization without rhythmic analysis
  • Server-side audio processing in Node.js environments without Web Audio API access
  • Teams wanting pre-built, drag-and-drop visualization components without coding WebGL shaders
  • Applications focused on raw FFT data for audio synthesis or effects processing

Pros & Cons

Pros

Music Theory-Based Analysis

Converts linear frequency energies to MIDI notes for better segregation of musical elements, as explained in the README, providing more meaningful rhythmic data than traditional FFT methods.

WebGL Shader Integration

Outputs normalized float arrays directly usable as uniforms in WebGL shaders, enabling real-time visual modulation without additional processing, as highlighted for audio-reactive visualizations.

Configurable Band Analysis

Allows defining rectangular windows on the MIDI spectrum with adaptive thresholds and smoothing, offering precise control over rhythmic measurements like strongest note index and power-weighted averages.

Prototyping Tool Included

The Clubber Tool web app facilitates rapid prototyping and music analysis, with export capabilities for patches and Web MIDI output, reducing development time for audio-visual projects.

Cons

Complex Offline Setup

For offline analysis, the README requires manual time management and buffer calculations, which can be error-prone and adds overhead compared to real-time use.

Niche WebGL Dependency

Optimal integration is with WebGL shaders; projects not using WebGL may find the output format less useful, limiting its applicability to broader visualization contexts.

Limited Documentation Depth

While the Clubber Tool is well-documented, the core library's README lacks detailed examples for non-WebGL use cases, relying on external resources for advanced guidance.

Frequently Asked Questions

Quick Stats

Stars375
Forks23
Contributors0
Open Issues5
Last commit8 years ago
CreatedSince 2016

Tags

#music#midi#audio-analysis#real-time-audio#creative-coding#music-visualization#javascript-library#webgl#notes#webgl-shaders#reactive#web-audio#audio

Built With

J
JavaScript

Links & Resources

Website

Included in

Audio Visualization5.0k
Auto-fetched 1 day ago

Related Projects

Pixi.jsPixi.js

The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

Stars47,655
Forks5,037
Last commit14 days ago
CavaCava

Cross-platform Audio Visualizer

Stars6,240
Forks292
Last commit3 days ago
SlangSlang

🎤 a simple audio programming language implemented in JS

Stars1,203
Forks31
Last commit6 years ago
HylogenHylogen

GLSL embedded in Haskell

Stars489
Forks25
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub