Index | adionSoft

BPM Detection Library

about | download | documentation | news | license | contact

About BPM Detection

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 regularly.

DLL Version
-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
    Download Now

OCX Version - Older, no longer supported, but may still be useful for some people.
    Version : 0.10 #15
    Latest Update : October 14, 2002
    Download Now
    Example with source (vb6)