bpmLover is an online BPM Analyzer that allows you to analyze tempo of a song by selecting a file or by tapping with your mouse. File processing is entirely done in Javascript, so there's no data sent to a remote server.
Website: http://bpmlover.com
-
For sound processing:
-
For website stuff
App
takes care of the UIAudioFile
is a simple wrapper aroundFile
that provides utility functions such asgetAudioBuffer
orgetAudioData
.BPMWorker
takes audio data and computes the BPM usingDSP.js
andBeatDetektor.js
.
- The main app (UI) is in
App.js
- When a file is selected, a new
AudioFile
is created. App
creates a web worker:BPMWorker.js
and sends it the audio data.BPMWorker
cuts the audio data into 512-sample frames, and for each of them, applies FFT and sends it to an instance ofBeatDetektor
.- When this is complete, the web worker sends the bpm back to
App
, which then updates the UI.
This code is under GPL-License.