Audio analysis to Ableton tempo?
Have any of you seen a nice audio analysis M4L plugin that can directly control the tempo/clock of Ableton based on transients in the incoming audio? Something like what VDMX comes with?
You should read this topic, and particularly the answer by Peter Mc Culloch…
Thanks, phone, for the truncation.
I’ll admit: I’m curious, too.
There are different ways of detecting transients. For percussive ones, the easiest is to run two envelope followers at different rates and use a two stage comparator (thresh~) to detect fluctuations. Has the advantage of working at lots of different volumes.
There is also an FFT-based approach for soft transients, e.g. melismas, that looks at the change in the frame delta for phase.
Converting transient detection into beat-tracking is more involved, and the MIR (Music Information Retrieval) literature is where you want to look.
Oops… The teaser post striked again :)
I’ve read about rm.slice for this kind of stuff, but never tried it.
thanks, but I’m not looking for a tap-tempo solution. I’m not really looking to code something from scratch, but rather hoping to find a nice audio analysis to clock/tempo solution. I guess it doesn’t exist!
The point was to underline the difficulty of building such a tool, and a reliable one.
What’s your expected input signal for this?
In my specific usage, it would mostly be electronic music ranging from experimental hip hop to minimal techno, but really it should work with any kind of music containing strong rhythmic elements. Have you checked out the VDMX video I linked to above? It works exactly how I would think it should work in Ableton.
There’s Tristan Jehan’s beat~, but I haven’t had good results with it, and it’s from 2004 (so the literature has improved in the meantime) I don’t know about other approaches implemented in Max, though it’s something that would be really useful.
To clarify: I’m not trying to say it’s not possible, just that it’s hard to do well, and a naive approach may not be very robust. (which may or may not be a problem, particularly dependent on the rhythmic complexity of what you’re doing)
In the MIR world, Meinard Müller does a lot of great stuff with tempo detection and classical music. I’m not sure if any of it is real-time. Here’s a paper of his with Peter Grosche.
The Centre for Digital Music at Queen Mary University of London implemented a beat tracker in Max that works rather well: http://c4dm.eecs.qmul.ac.uk/people/adams/bsa/
You can read how it was implemented here: http://www.eecs.qmul.ac.uk/~markp/2009/StarkDaviesPlumbley09-dafx.pdf
I have no affiliation, I’ve just used it.
Awesome. Glad to see this stuff. I’m guessing the chord detection stuff is related to Bello’s work there.