Programmatically get BPM waves or MP3s from .Net

I have a project with a requirement to programmatically get a BPM wave or MP3 file using .Net (VB.Net or C #).

Does anyone know of a binary or library for this, or has a piece of code to guide me in the right direction?

+7
algorithm audio vst
source share
3 answers

Here is a commercial product with a C # library. A trial version is also available: http://adionsoft.net/bpm/

+2
source share

For the part where you get samples from WAV or MP3 in .NET code, I use NAudio (in CodePlex), free, suitable for use in commercial applications, without real documentation, just sample code.

+2
source share

First, if you want to make sound with .Net, I would recommend fmod, which is awesome and has a .Net wrapper (http://www.fmod.org).
Then, to get BPM, there are several methods, but I think the most effective is the "beat spectrum" (described here: http://www.rotorbrain.com/foote/papers/icme2001/icmehtml.htm ).
This algorithm computes a similarity matrix by comparing each short sample of music with everyone else. When the similarity matrix is โ€‹โ€‹calculated, one can obtain the average similarity between each sample of pairs {S (T); S (T + 1)} for each time interval T: this is the impact spectrum. The first high peak in the rhythm spectrum is most of the beat time. The best part is you can also do things like musical structure or rhythm analysis.
If you are interested in this area, I would suggest reading other works by Jonathan Foote.

+2
source share

All Articles