Package Exports
- realtime-bpm-analyzer
- realtime-bpm-analyzer/package.json
- realtime-bpm-analyzer/processor
Readme
Realtime BPM Analyzer
A powerful TypeScript library for detecting beats-per-minute (BPM) in real-time.
📚 Documentation • 🎯 Examples • 🚀 Quick Start
Features
- Zero dependencies - Uses native Web Audio API
- Real-time analysis - Analyze audio/video as it plays
- Multiple sources - Works with files, streams, microphone, or any audio node
- Typed events - Full TypeScript support with autocomplete
- Client-side only - 100% privacy-focused, no data collection
- Supports MP3, FLAC, WAV formats
Installation
npm install realtime-bpm-analyzerQuick Example
import { createRealtimeBpmAnalyzer } from 'realtime-bpm-analyzer';
// Create analyzer
const analyzer = await createRealtimeBpmAnalyzer(audioContext);
// Connect your audio source
audioSource.connect(analyzer.node);
// Listen for BPM detection
analyzer.on('bpm', (data) => {
console.log('BPM detected:', data.bpm[0].tempo);
});Documentation
📖 Full Documentation - Complete guides, API reference, and tutorials
Key sections:
- Quick Start Guide - Get up and running
- API Reference - Complete API documentation
- Examples - Live demos and code samples
- Migration to v5 - Upgrading from v4.x
Use Cases
- Audio Players - Display BPM while playing tracks
- Live Streams - Continuous BPM detection from radio/streaming
- File Analysis - Offline BPM detection from uploaded files
- Microphone Input - Real-time analysis from live audio
- DJ Applications - Beat matching and tempo detection
Running Examples Locally
# Install dependencies
npm install
# Run a specific example
npm run dev --workspace=examples/01-vanilla-basic
# Available examples:
# - 01-vanilla-basic, 02-vanilla-streaming, 03-vanilla-microphone
# - 04-react-basic, 05-react-streaming, 06-react-microphone
# - 07-vue-basic, 08-vue-streaming, 09-vue-microphonePrivacy & Security
- 100% client-side processing
- No data collection or transmission
- No audio recording - real-time analysis only
- Open source - fully auditable code
See privacy.md and security.md for details.
Contributing
Contributions are welcome! See contributing.md for guidelines.
License
Apache-2.0 License - See licence.md for details.
For commercial licensing inquiries, contact: d.lepaux@gmail.com
Credits
Inspired by Tornqvist's bpm-detective and Joe Sullivan's algorithm.