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.
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.
:musical_keyboard: Making life easy to create a MIDI-app on the web. Includes a library to program synesthesia into your app for memory recognition or for creating trippy effects. Convert soundfonts for Guitar, Bass, Drums, ect. into code that can be read by the browser. Supports multiple simultaneous instruments and perfect timing.
C++ program to generate waveform data and render waveform images from audio files
Audio feature extraction for JavaScript.
Beep is a JavaScript toolkit for building browser-based synthesizers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.