Looper -> manual grains, can't make it *not* glitch

For some reason I can’t make a simple looper into manual grains (shared buffer) work, it always glitches out at some point(s). I made a simple chain (hope it works, never shared a chain before) to demonstrate. The chain uses a 1 second buffer length, it happens more often the shorter the buffer (for a moment I thought going 10s had “solved” the problem, but it just does it less often.

If someone could explain what I’m doing wrong, I’d really appreciate it, I’ve come to a loss here…

1s.chain (27.2 KB)
Recorded on the 6chn recorder, glitch happens at 7 seconds.

i think that’s this issue described and discussed here:

when play- and recordhead collide clicks, glitches are audible. the shorter your buffer the more that will happen.

  • Discontinuous playback when playing unit shares buffer with another recording unit
    (play/record head leapfrog bug).

Yeah sound like it! Thanks!

I was under the impression people do this on a daily basis, is there a work-around?

Can you confirm I’m not doing anything wrong here, @odevices?

I’ve happily wasted many hours trying to sidestep the issue. My attempts have included:

  1. Only allow playback from a contiguously written region of buffer
  2. Maintain two or more buffers and fade playback between them, always avoiding the one being edited

#1 requires you to prepare a known-length buffer and have a way to track the position of the record head (not easy). Then you can set bounds on your playback position, speed, and length of grains. But basically you end up with a fancier Grain Delay unit…

#2 is super fun! I did something similar with my DRONEPOOL looper where I automatically punch recording in/out for 4 separate loopers depending on a CV input. It also used a slew limiter on the overdub rate to selectively avoid discontinuities between old/new material.

Neither is really the perfect solution: record the sound before it happens :laughing:


That would be pretty awesome.

As in “don’t do live processing, only work on pre-recorded files”?

isnt the ‘ring buffer’ in progress supposed to help deal with the clicks?

Never saw that, please tell me more :slight_smile: Can’t locate it on the units list, “what is it”???

something Brian may have been working on. not implemented in the firmware yet.

Ok, thanks, that explains why I couldn’t find it :slight_smile:

discussed here Techniques for Real-time Data-driven Synthesis

Thanks! I was totally unaware this has been discussed, looking forward to .7 then (fingers crossed)…