The Doppler effect causes a source signal to appear as though it has been pitch shifted. Pitch shifting of an input signal can thus be implemented with time-varying delay lines as described above.
Because the read pointer of a pitch shifter is incremented at a constant non-integer rate, the read pointer will eventually “catch up to” or “fall back into” the write pointer location (see Fig. 8). To avoid discontinuity issues caused when the read and write pointers cross, a multiple read pointer cross-fade system can be used.
Figure 8:
Circular delay line (buffer) arrangement for a basic pitch shifting algorithm.