aubio
Keeping it groovy
Tempogram for Havana Cultura: New Cuba Sound, a 45:31 minutes mix by Gilles Peterson
At the latest ISMIR conference, Peter Grosche and Meinard Müller presented a paper called A Mid-Level Representation for Capturing Dominant Tempo and Pulse Information in Music Recordings. I was told to give it a look, as Meinard Müller gave an impressive presentation with several sound examples of difficult but successful beat tracking.
The method they describe is somewhat intuitive: build an onset detection function, or novelty function, detect the pitch, or fundamental period, on this function, and synthesise the result using an overlap-add technique. The approach is elegant, efficient, and present several advantages over existing methods, such as the one currently implemented in aubio: versatile, computationally efficient, it does not depend of previous context, is easy to implement, and can be easily configured for different situations, with independent tempo and time resolutions.
Last week-end I gave a shot at implementing this algorithm and got pretty impressive results right at the first attempts. I managed to get 82% of correct tempo (BPM) over my test database; not bad compared to the 72% reached with the latest aubio version ‒ the database, constructed by Stephen W. Hainsworth, consists of 222 musical extracts of various genres.
I thought about titling this post "Harder, better, faster, stronger", but that sounded a bit déjà-vu, and the musicians from Cuba are much harder to follow than the famous French duo. The figure above shows a tempogram of a 45 minutes long mix by the amazing Gilles Peterson.
There is more than tatums and tactus coming out of these tempograms: some interesting patterns emerge, describing the rhythmic structure of the sound. More about this later, as soon as I find time to complete my implementation, adding the precise beat locations so they can be played.
Thu, 26 Nov 2009, 01:53. trackback - view/add comments
Responses to this post
Hi,
I'm also interested in an implementation of that technique and I am wondering your implementation is already available in aubio? Or are you implementing it separately from aubio? I checked the git log, but didn't find any references to the technique.
best,
Stefaan Lippens
Posted by Stefaan Lippens at Thu Dec 10 15:42:39 2009
Hi Stefaan,
I didn't push the code yet, as it still needs ironing. I will publish it ASAP, hopefully this week-end.
Best, piem
Posted by piem at Fri Dec 11 20:18:45 2009
I'm Just a dropping a line here. I was just curious about the state of this code. Will it be made available in some form soon?
Posted by Phillip Whelan at Fri Feb 5 09:24:18 2010
Leave your own comment
© 2003-2017 the aubio team | cc-by-sa