1
$\begingroup$

I want a relatively easy to implement but relatively reliable algorithm for detecting beat locations in an audio file.What I am aiming to do is get the location of the closest beat to a particular time instant i.e if given current playtime, how can I get the location of next beat.Does anyone know of any algorithms that could help me solve this problem?

$\endgroup$
4
  • 1
    $\begingroup$ Some questions: Beat or not onsets? Do you want this to be online/causal or do you have access to the entire audio file? $\endgroup$ Nov 22, 2013 at 11:01
  • $\begingroup$ I want the actual beat locations not just onsets and I don't need it be online because I have the entire audio file. $\endgroup$
    – KillaKem
    Nov 22, 2013 at 13:59
  • $\begingroup$ There are several algorithms implemented in aubio.org, but I agree it would be nice to have a simple one explained if someone wanted to take the time to do that here. $\endgroup$ Nov 22, 2013 at 16:38
  • $\begingroup$ Check "Beat Tracking by Dynamic Programming" by Dan Ellis. There are better algorithms - but it is quite simple and requires few parameter adjustments. With a few tweaks to the tempo detection function (while keeping the same dynamic programming format) you get close to the performance of the algorithm implemented in Sonic Visualizer. Aubio's beat tracker is designed to be causal so it is not as good. $\endgroup$ Nov 23, 2013 at 8:39

3 Answers 3

6
$\begingroup$

The matlab codes that implemented D. Ellis's algorithm are on their website:

http://labrosa.ee.columbia.edu/projects/beattrack/

$\endgroup$
0
$\begingroup$

I have implemented BeatRoot by Simon Dixon and found it to be a simple yet efficient beat detector. I believe that there is sample Java code on the Web to demonstrate his algorithm.

$\endgroup$
0
$\begingroup$

Essentia C++/Python library provides several beat tracking algorithms:

http://essentia.upf.edu/documentation/reference/std_RhythmExtractor2013.html

This is the algorithm publish in: J.R. Zapata, M. Davies and E. Gómez, "Multi-feature beat tracker," IEEE/ACM Transactions on Audio, Speech and Language Processing. 22(4), pp. 816-825, 2014. http://dx.doi.org/10.1109/TASLP.2014.2305252

The Matlab implementation of the multifeature beat tracker is: https://github.com/JoseRZapata/MultiFeatureBeatTracking

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.