• ### understanding frequency calculation inside Pitch shifting

hello,
I upload a patch that allowed to transpose an incomming audio signal ( It is the one used in Jupiter, by Manoury & Puckette ) .

I don't understand the calculus before the [phasor~], how to explain :

• this coeff of 0.05776 ?
• the [exp] objet ?
• the division by 1000 of the variable 'ph-wind' ?

I would really appreciate yours explanations
flute-phase-out.pd

• | Posts 3 | Views 4746
• @mx This could take a long time to type out the explanation for all this. I'd be glad to help you. but here's some stuff you might want to look at first. Your patch is essentially just G09.pitchshift from the pd tutorials. Check out that file for some documentation. Also, here's what Miller has to say:

http://msp.ucsd.edu/techniques/latest/book-html/node115.html#sect7.pitchshift

and more specifcically:
http://msp.ucsd.edu/techniques/latest/book-html/node125.html

After reading, let me know if there's anything you would like help with understanding

edit: less technical explanations:
http://www.katjaas.nl/pitchshift/pitchshift.html
http://pd-tutorial.com/english/ch03s07.html
And a vid for max instead of pd but the concepts are the same

• hi @rjp9,
I read miller s documentation and it is more clear.

lets try to answer to my question :

• this coeff of 0.05776 ?
I thought it was the result of log(2)/12 ... but this don't match ...

• the [exp] object
because of this formula :
transposition factor = 2 ^(h/12) = e ^(log(2)/12 * h )
with h the desired pitch shift in half-tones

• the division by 1000 for the window
the convertion of the window from ms to s

I still have to get this * Momentary Transposition ' which explain the calculus of the phasor frequency (Fphasor)
maybe the doc of katjaas could help.

Fphasor = - (t - 1) / win
with t = 2^(h/12)
h the desired pitch shift in half-tones
win the window size in sec

made this patch for a calculation of Fphasor without the coeff 0.05776
theBrainWorkOfPitchShift.pd

thx again.

| Posts 3 | Views 4746
Internal error.

Oops! Looks like something went wrong!