Compensating for pitchshift~ latency

TFF's icon

Hey all. I've included a patch to show the problem I'm trying to solve. I want to loop an audio file and apply effects to it in real time, which build on themselves with each iteration. What I've done is set up a tap the same length as the original file that runs through the effects before feeding back into itself.

I'd like to use the pitchshift~ object as part of this, but I don't know how to cope with the latency it introduces. Is there a way to include it and still loop smoothly?

150125loopinglatency.maxpat
Max Patch
Wetterberg's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Oh, and please post cleaner patches. It makes it easier for us to read them, and consequently help you :)

TFF's icon

Thanks, I'll pay more attention to alignment and all in the future.

I appreciate your response, but it doesn't appear to address the question. You converted the latency to ms so it was in the same time format as the sfinfo~ object, but I don't know what to do with that number. I don't think I want to shorten the length of the tap, since it's tied to the length of the loop.

If you load a loop into the patch, you'll hear it does not loop correctly. There's a bit of silence at the beginning of each cycle because of the latency of pitchshift~. What I would like to know is how I can compensate for this so that what gets captured by the tap and iterated on is a clean loop.