The BPM or Beats Per Minute is an indication of the tempo of a piece of music.
This information can be used to make mixing 2 songs easier by matching the BPM of the
next song to the BPM of the current song by changing the speed of the next song.
It can also be used for visualisation that follows the beat, control of external lights.
Another use is classifying songs. Songs with a similar BPM may be similar in genre as well.
About this library
This library allows developer to add automatic BPM detection to their projects with minimum effort.
The library comes as a dll file which can be used by almost any programming language
on the Windows operating system.
Examples for using this library in C/C++, C#, Delphi and Visual Basic 6 are included with the download.
The BPM Detection can work from any source of decompressed samples, be it realtime input from a microphone
or line input, or from decompressed samples from music files on your computer.
For most musical genres with a more or less steady beat, the accuracy will be about 0.1 BPM (Dance, Trance, Techno, ...)
For more difficult to detect genres (Drum and Bass, Rock, Rap, RnB, ...) it will usually get an accuracy of around 1 BPM.
Besides tempo information, the library also returns a counter that increases every beat which
can be used to synchronize visualisations to the beat.
You can download a trial version of the
control, which has all functionality, but will pop up a message box
-Visual Basic 6 module + example using FMod Ex
-Delphi 7 module
-C/C++ header file and .lib + example using FMod Ex
-Visual C# module + example using FMod Ex
Latest Update : February 22, 2007
OCX Version - Older, no longer supported, but may still be useful for some people.
Version : 0.10 #15
Latest Update : October 14, 2002
Example with source (vb6)
DLL Update 2007-02-22
After a long time of silence, there now is a new version of the library available. Results are a bit more accurate, and the examples have been updated (also includes an example that detects bpm live from a line/mic input)
Downloads updated 2005-03-22
Due to switching to a new host, the downloads were not yet updated. This is fixed now.
Licenses are no longer available.
You can contact me for any questions at firstname.lastname@example.org