[Sample Accurate Looping] Impulse divider Idea, and concerns

pgk's icon

Hey everybody!

For sometime now I have been into creating sample accurate overdubbing loopers, getting a lot of
ideas / techniques for that from this forum.

I am now in the process of redesigning / refining ;-)

What I had up to now was a looper based on count~ with the ability to do loop multiply ( a la boss looping pedal)
using modulo arithmetic and a counter counting "forever".

The issue for the redesign was that the looper needed to know in advance the "base length" of the loop (i.e. you could not record on the fly and use that length for looping). Furthermore, because of count~ counting ad infinitum there where distortions in playback/record after about 3 minutes (precision was running out of nums).

Max Patch
Copy patch and select New From Clipboard in Max.

Anyway, in the new design I will use something like this:

it masks clicks from the incoming stream according to the modulo operation. check for yourself.
To be used to drive count~ 's for rec and playback. One concern is +=~ ;s accuracy after a long time, but
no biggie, it will probably take hours before it starts losing precision.

Anyway, enjoy, and feedback is more than welcome.
Cheers,
Panos

Andrew Benson's icon

I'm not sure if it would help in this particular case, but I created some convenience objects for doing signal-based sequencing and whatnot that are available here:

Again, it might not help this particular case, but you will probably find that they come in handy later.

You might look at using the reset input of +=~ to manage the problems that might arise from massive accumulation.

pgk's icon

Hi Andrew!

Thank you, I will check them out! Also, might I say thank you for this famous post on overdubbing loopers and the patch that got me started in this whole business ~2 years ago.

Basically if you see the patch, I am using the clicks as a reset mechanism for counters, in order to drive poke~ 's and index~ 's.

Indeed, as you already suggested, I use reset on +=~. This happens when I want to record a brand new loop (and ditch all the overdubbed stuff) thus the phasor~ on top is reset to a new rate. I also found that using the ideas from osc-sync example helped me do this in an audibly accurate way.

Right now I am no longer concerned with the +=~, since it would probably take more than ~3 hours to get out of precision :-) I have a (roughly) working array of 4 such loopers, all with loop multiply, global or pair of 2 sync, and undo possibilities, as well as cross overdubbing (re-recording all the loops into one of the loopers, what else to call it?).

Again thanks!
Panos

pgk's icon

Wow, I checked them, and I see some useful externals for optimizing my structures for the looper.