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
Newest Members:Jas, Rowan, sojourn, fabhenr, rg1, Niklas, Wutru, Tim Campbell, Danny Jonel, Valentin
Moderators: W Pirkle: 573
Administrators: Tom: 74, JD Young: 80, Will Pirkle: 0, W Pirkle: 573, VariableCook: 3