Support |
I'm not a mathematician (nor do I play one on TV), but I can imagine a few relatively simple approaches for adding timbral variety to percussive loops. First start by "beat slicing" the loop, using a relatively low threshold that comes close to isolating individual hits. Now apply a filter (or your favorite plugin) with small randomized parameter variations at the beginning of each slice. I would be surprised if Live didn't offer something like this. This gets you timbral variety but not timing variety. Now we add something closer to Boids. I'm guessing that with percussion instruments, there are subtle variations in timing depending on how hard something is hit. More movement is required, the stick bounces back differently requiring more "recovery" force, etc. So, would it be accurate to simulate this by determining the average amplitude at the beginning of each slice, and using this to very slightly change the start time of the next slice (factoring in some randomization). Where it gets Boid-like is this time shift gets factored into the calculation at the beginning of the next slice. Delayed slices will tend to bunch up a bit, then begin expanding out to resume their original timing. Slices moved forward will expand for awhile, then contract back to normal. We're obviously talking about milliseconds of variance here to make it sound organic, rather than just sloppy :-) Perhaps I'm naive, but so far this doesn't sound that complicated. Beat slicing algorithms are well understood. Time shifting is dead easy. The heavy DSP lifting is done by the plugin. The work is in writing a meta-plugin that consumes the loop audio stream, beat slices it, and passes it through the wrapped plugin to do the filtering or whatever, while controlling its parameters in realtime. Beyond that, I could imagine something Boidish that does realtime spectral analysis and adjusts timing and/or plugin parameters based on the timbre of the moment. But now I'm way out of my DSP league. Jeff