I'm making a looper/sampler based on poke(ipoke) and groove for playback. I'm using the sync output of groove multiplied by the total number of samples in my buffer (sample rate * duration in ms) and then adding +0.5 (as I've seen in a couple of examples on here).
I'm assuming the 0.5 offsets the sync forward one sample so that you write a sample before reading it (so your record head is 1sample ahead of the read head).
Now when recording (or overdubbing) in reverse, I get a zipper/gritty type distortion on the sample. I thought this might have to do with the fact that when going backwards, I'm recording one sample AFTER I'm reading (or the same sample) so I'm adjusting the offset to -1 (to presumably write the sample before I read it (but going backwards).
Still getting the noise.
This seems to happen with poke and ipoke, so I don't think it's an interpolation problem, but a sync problem.
Here's the patch (annotated).