diff --git a/beats-per-minute.html b/beats-per-minute.html new file mode 100644 index 0000000..e9f5f78 --- /dev/null +++ b/beats-per-minute.html @@ -0,0 +1,1118 @@ + + + + + + BPM Detector - Beats Per Minute Analyzer + + + +
+
+

BPM Detector

+

Real-time beats per minute analysis using multiple algorithms

+
+ +
+
+ Live Waveform + +
+ +
+ + +
+ +
+ Click "Start Listening" to begin analyzing audio from your microphone +
+ +
+
+
Combined Estimate
+
--
+
BPM
+
+ Confidence +
+
+
+
+
+ +
+
Peak Detection
+
--
+
BPM
+
+ Confidence +
+
+
+
+
+ +
+
Autocorrelation
+
--
+
BPM
+
+ Confidence +
+
+
+
+
+ +
+
Spectral Flux
+
--
+
BPM
+
+ Confidence +
+
+
+
+
+
+
+ +
+ For best results, play music with a clear, steady beat. Detection accuracy improves after 5-10 seconds of listening. +
+ +
+

How It Works

+ +
+

Combined Estimate (Primary)

+

+ The combined estimate uses a weighted average of all three detection methods, with weights + dynamically adjusted based on each algorithm's confidence level. This ensemble approach + provides more robust results than any single method alone. +

+

+ When algorithms agree closely (within 5 BPM), confidence is high. When they disagree + significantly, the system weights more reliable methods higher and reduces overall confidence. +

+
+ Formula: BPM = (w₁ × BPM₁ + w₂ × BPM₂ + w₃ × BPM₃) / (w₁ + w₂ + w₃), + where weights are derived from individual confidence scores. +
+
+ +
+

Peak Detection

+

+ This method analyzes the audio signal's energy envelope to find "peaks" — moments where + the sound intensity suddenly increases, typically corresponding to drum hits or strong + musical accents. +

+
    +
  • Calculates the RMS (Root Mean Square) energy of sliding windows
  • +
  • Applies a low-pass filter to create a smooth energy envelope
  • +
  • Detects peaks that exceed a dynamic threshold based on recent audio levels
  • +
  • Measures time intervals between consecutive peaks
  • +
  • Converts the median interval to BPM: BPM = 60 / interval
  • +
+
+ Best for: Music with prominent drum patterns and clear transients. + Works well with rock, pop, electronic, and hip-hop genres. +
+
+ +
+

Autocorrelation

+

+ Autocorrelation finds repeating patterns in the audio by comparing the signal with + time-shifted versions of itself. When the signal correlates strongly with a delayed + copy, that delay corresponds to the beat period. +

+
    +
  • Computes the audio's energy envelope to reduce noise
  • +
  • Calculates R(τ) = Σ x(t) × x(t + τ) for various time lags τ
  • +
  • Searches for peaks in the correlation function within the 40-200 BPM range
  • +
  • The lag with the highest correlation indicates the beat period
  • +
  • Converts lag to BPM: BPM = 60 × sampleRate / lagSamples
  • +
+
+ Best for: Music with consistent, repetitive rhythmic patterns. + Particularly effective for electronic music, dance tracks, and songs with steady tempos. +
+
+ +
+

Spectral Flux

+

+ Spectral flux measures how the frequency content of the audio changes over time. + Musical beats typically cause sudden changes in the spectrum, especially in the + low-frequency (bass) range. +

+
    +
  • Performs FFT (Fast Fourier Transform) to get frequency spectrum
  • +
  • Calculates the difference between consecutive spectral frames
  • +
  • Uses half-wave rectification to emphasize increases in energy
  • +
  • Applies onset detection to find beat positions
  • +
  • Analyzes inter-onset intervals to determine tempo
  • +
+
+ Best for: Complex music with layered instrumentation. + Handles tempo variations better than peak detection and works well with + jazz, classical, and progressive genres. +
+
+ +
+

Technical Considerations

+

+ BPM detection from live audio is challenging due to several factors: +

+
    +
  • Octave ambiguity: Algorithms may detect half or double the actual tempo (55 vs 110 vs 220 BPM)
  • +
  • Background noise: Environmental sounds can interfere with beat detection
  • +
  • Complex rhythms: Syncopation and off-beat patterns can confuse peak detection
  • +
  • Tempo changes: Songs that speed up or slow down require adaptive algorithms
  • +
  • Audio quality: Microphone frequency response and room acoustics affect accuracy
  • +
+

+ This tool attempts to mitigate these issues by using multiple algorithms and + continuously refining estimates as more audio is analyzed. The confidence indicators + help you understand how reliable each measurement is. +

+
+
+ + +
+ + + +