[PD] delay compensation in pitch-shifting

info at hansroels.be info at hansroels.be
Fri Nov 20 15:06:23 CET 2020


Hello,

Hopefully people with more knowledge of audio processing can answer the 
following questions. Background: I make patches in which the microphone 
input is modified by different kinds of pitch-shifting, I would like to 
compensate the delays caused by these pitch-shifts and thus avoid 
artefacts.

1) How much delay does a pitch-shifter based on a variable delay (the 
classic rotating-tape-head style) produce? as in G09.pitchshift.pd in 
the audio.examples folder. I did a quick test with a 
one-sample-audio-trigger going immediately to the first channel of a 
recording patch in Pd and simultaneously going to a variable delay 
pitchshift (pp.pitchshift~ from AudioLab), routed into the second 
channel of the recorder. The delays are quite large and vary between 30 
and 80 milliseconds, there seems to be no relation with the amount of 
pitch-shift. In the pitch-shifting patch I also notice that the delay 
varies between zero and the window size. Is there a way/patch to 
calculate and compensate for this delay? (for example, if you want to 
combine the original with the pitch-shifted signal in a patch). Or is 
this impossible because the delay is variable...

2) I'd like to know the delay in ms with FFT processing if you have a 
1024 sample window with overlap factor of 4, for example, in a 
pitch-shifting vocoder? I found this info on a MAx/MSP mailing list, is 
it correct?: "The I/ O delay is equal to the window size minus the hop 
size (e.g., for a 1024-sample FFT window with an overlap factor of 4, 
the hop size is equal to 256, and the overall delay from input to output 
is 768 samples)"; at 44100 sampling rate this is around 17ms delay (for 
a window of 1024 samples, overlap 4).

3) Conclusion: any pitch-shifting technique introduces tens of 
milliseconds delay? (Pitch-shifting based on granular synthesis is not a 
solution, I think it also requires a buffer of at least 50ms.)

Hans

-- 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20201120/185665d4/attachment.html>


More information about the Pd-list mailing list