Yes, skipped frames may very well be the problem. Except that I do have peek (the playback object) set to spline interpolation. Splat is supposed to write with interpolation as well. What’s strange is that this combo sounds _worse_ than my groove~/poke~ setup, even though gen~ has higher-quality interpolation. And with groove~/poke~, smearing happens gradually, after several passes (which is exactly what you’d expected with skipped frames), whereas in this ~gen patch, the signal gets severely distorted on the very first overdub. (I also tried the trick of writing 3 samples ahead/behind of playback in case the problem was caused by writing to the same buffer.)
Several other threads on this forum suggest ping-ponging between two buffers/pokes; i.e. always writing at sample-rate (without interpolation) and mixing that signal with the output from the interpolated, tempo-shifted playback object. I’ve almost got this ~gen patch working that way, though I’m not quite sure how best to build the pingpong mechanism. I’ll post that too when it’s ready.
Also, Rodrigo: a huge thanks for the groove~/poke~ looper you posted. I used it as a template for my own, but now I’ve put everything inside polybuffer~ and poly~ objects (which you also suggested on another thread) so I can add buffer~ and groove~ objects on the fly, keeping each overdub layer separate so I can warp them non-destructively. A little CPU-intensive, but otherwise works quite well. I’d be happy to share it if anyone’s interested.