On 29-Jan-08, at 2:11 PM, Ben Wheeler wrote:

> On Fri, Jan 25, 2008 at 09:25:18AM -0500, Albert Santoni wrote:
>> I think we can make it _much_ easier to do in Mixxx (we can take
>> advantage of our BPM detection).
>
> Something along the lines of the CDJ400/800's Auto Beat Loop, which
> creates a loop for 1,2,4 or 8 beats that you can then subdivide by
> 1/2, 1/4 or 1/8.

Yeah, my KP3's sampler works similarly. (easy to use)

>
>
> The difference is, however, that our BPM detection still sucks  
> compares
> to Pioneer's, so I think a prerequisite of a useable autolooper is a
> better Tap function which intelligently adjusts the beat marks and
> informs the beat marking engine how to do its job better for this  
> track
> (in a way it'll remember next time!) rather than just updating the  
> BPM.
>

I haven't seen a BPM detection algorithm that fairs significantly  
better than ours. If you want to improve the BPM tap, I'd invite you  
to hack it. The way these BPM tap-assisted detection algorithms work  
is they simply use the BPM tap guess to narrow the range of BPMs to  
look at.

Rough algorithm:
1) Get user to tap to the BPM
2) Smooth over their taps, do some standard deviation calculation
3) Tell the BPM detection to search within +- std. dev.
4) you're done

(This is exactly how it works on my KP3. Does Pioneer's algorithm work  
better than Mixxx's _without_ any extra bpm-tap assist?)

Micah's awesome improvements/reworking of our BPM detection already  
allows us to specify a range of BPMs for the algorithm to look within.  
It's probably a good weekend project to hack the BPM tap to feed into  
that range...

Albert



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to