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$ – pichenettes Nov 22 '13 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 '13 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$ – Bjorn Roche Nov 22 '13 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$ – pichenettes Nov 23 '13 at 8:39
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.