A lightweight beat detection utility for the web that analyzes audio buffers to extract tempo (BPM) and beat offset.
web-audio-beat-detector is a JavaScript utility that detects the tempo and beat timing of audio files using the Web Audio API. It analyzes AudioBuffer objects to extract beats per minute (BPM) and the offset of the first beat, solving the need for lightweight, browser-based beat detection without heavy computational overhead.
Web developers building music applications, audio visualization tools, or interactive experiences that require real-time or offline beat analysis in the browser.
Developers choose this for its simplicity, efficient algorithm based on established techniques, and easy integration with the Web Audio API, providing reliable beat detection especially suited for electronic music without complex dependencies.
A beat detection utility which is using the Web Audio API.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Joe Sullivan's computationally efficient technique, reducing processing overhead while delivering good results for electronic music, as acknowledged in the README.
Provides straightforward analyze() and guess() functions that return Promises, making integration with Web Audio API projects effortless and code minimal.
Supports offset, duration, and tempo range parameters, enabling focused analysis on specific audio segments without processing entire buffers.
The README explicitly states the algorithm is best for electronic music, indicating reduced accuracy for genres with irregular rhythms like jazz or classical.
Relies entirely on the Web Audio API, making it incompatible with Node.js or server-side environments without complex polyfills or workarounds.
Designed for offline AudioBuffer analysis via async functions, not for continuous beat detection in live audio streams, limiting use in interactive applications.