Programmatically get BPM of a wave or MP3 from .Net?

Here's a commercial product that has a C# library. A trial is also available: adionsoft.net/bpm.

For the part where you get the samples from WAV or MP3 in . NET code, I use NAudio (at CodePlex), free, usable in commercial apps, no real documentation, just sample code.

In case you'd prefer Thorsten's snark in English instead of German: google. Com/search? Q=bpm+detection+algorithm – Dinah May 6 '10 at 14:44 Oops, changed that :) – Thorsten79 May 6 '10 at 14:46 Google links are not helpful.

See here. Stackoverflow's stated goal is to be building up a repository of information so it can be the number 1 hit for Google queries like that. – Simon P Stevens May 6 '10 at 14:47 @Simon: So you want me to manually turn a google search results page into a StackOverflow posting?

I've included all the words that are needed to find papers, algorithms and further information on this topic. – Thorsten79 May 6 '10 at 14:50 7 @Thorsten: No, If you know the information post it. If you don't, just don't answer.

Posting a link to Google doesn't really help, anyone could do that. Given SO's popularity there is a good chance that eventually the top hit for "bpm detection algorithm" could end up being this page, then all you've done is created a circular reference. Also, the Google hits might change.

A good answer would be to describe a BPM detection algorithm and reference some sources for more detail. – Simon P Stevens May 6 '10 at 15:30.

First, if you want to do sound with . Net, I would recommend fmod which is awesome and has a . Net wrapper (http://www.fmod.org).

Next, to get the BPM there are several methods but the one I find the most effective is the "beat spectrum" (described here: rotorbrain.com/foote/papers/icme2001/icm...). This algorithm computes a similarity matrix by comparing each short sample of the music with every others. Once the similarity matrix is computed it is possible to get average similarity between every samples pairs {S(T);S(T+1)} for each time interval T: this is the beat spectrum.

The first high peak in the beat spectrum is most of the time the beat duration. The best part is you can also do things like music structure or rythm analyses. If you are interested in this field, I would suggest to read other Jonathan Foote papers.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions