Interesting question. Never looked into it before, but I've tried to come up with the answer. In one of my dsp books itâ€™s said that a max modulated delay variation â€“ with a sinusoidal LFO! - of 0.265 ms (in either direction), produces a 1% frequency variation (up Ã¡nd down). Now, Iâ€™m not sure how they calculated or measured this, but letâ€™s say for now itâ€™s correct to use this as a linear scaling variable (@Will & Tom, is this in fact correct?). Then we could calculate the pitchshift the following way in pseudocode:
Find out max modulated delay variation in ms, and calculate frequency variation in percentage:
Variation_pct = variation_ms / 0.265
Convert frequency variation in percentage, to scaling factor:
Variation_fctr = 1 + Variation_pct / 100
Calculate pitchshift in semitones:
Pitchshift_st = Log2(Variation_fctr) * 12
Example: say we have a max delay variation of 0.5 ms.
Variation_pct = 0.5 / 0.265 = 1.887 %
Variation_fctr = 1 + 1.887 / 100 = 1.0187
Pitchshift_st = Log2(1.0187) * 12 = 0.32 semitones
As I said, Iâ€™m not sure if we can use the 0.265 ms = 1% frequency variation the way I did. But if this is not to be used in a linear fashion, it shouldnâ€™t be that hard to adjust the calculation. Hope this at least helps you on your way!
You can study this paper for more information (as well as abundant references):
In addition, any simple pitch shifting calculation would only apply to a triangle LFO. Using any other LFO would result in nonlinear shifting as the speed of the pitch change would depend on the LFO shape.
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Moderators: W Pirkle: 690