I get that the algorithm for pitch shifting used in the video above simulates Doppler effect, the formula of which being : f_out = f_in ( (v_sound + v_observer) / (v_sound + v_source) ).

It is simulated by putting a phasor into the delay line, which causes linearly increasing delay time. The frequency of the phasor (say f_phasor) is v_observer / v_sound. So the formula for f_out becomes f_out = f_in ( 1 - f_phasor ).

Here is what I don't get : apparently increasing delay time is analogous to 'moving observer' in the Doppler effect. Why not 'moving source'? What is the difference? Aren't both cases the same in that the signal arrive-time gets more delayed?

1 Answer 1


The difference is that "moving" means relative to the medium through which the waves are traveling. So if the source is moving relative to the medium, the waves actually propagate differently than if the source is stationary relative to the medium.

"Notice that in both cases, moving observer and moving source, if the source and observer are moving together, the frequency goes up. If they are moving apart, the frequency goes down. However, the amount that the frequency change depends on whether it is the source or the observer that is moving." http://www.phys.uconn.edu/~gibson/Notes/Section6_3/Sec6_3.htm

In the Max/MSP example, you are putting a signal into a delay line at a fixed point, and reading from the delay line at a varying point, hence the analogy to moving observer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.