[sdiy] MXR Pitch Transposer Schem/Circuit

Richie Burnett rburnett at richieburnett.co.uk
Sun Mar 10 21:21:07 CET 2013


The two read-pointers with cross-fading to minimise the glitches is really the bare minimum for pitch shifting. It still sounds quite rough though in practice. Even though you fade the contribution of each read pointer down to zero when it crosses the write pointer theres still a problem unless a whole number of audio cycles fit perfectly into the ring buffer's memory. Essentially the waveforms from the two read pointers are rarely coherent for arbitrary audio inputs. So when you cross-fade between them you get constructive/destructive interference that causes wobbles in the amplitude and phase of the pitch shifted audio output. This sounds rough.

Any decent pro-audio pitch shifter these days also performs an auto-correlation on the incoming audio to determine any periodicity. Then each of the two read pointers are moved by whole numbers of audio periods when they would cross the write pointer and otherwise cause a glitch. If you nudge the read pointers by whole numbers of audio cycles then there should be no glitches in theory. However cross-fading is still used to minimise any glitches caused by less than perfect period detection or poor auto-correlation when pitch-shifting complex polyphonic material. At least now the waveforms from the two playback pointers are as coherent as they can be. Almost identical and in-phase. So the cross-fading now causes minimal destructive interference and amplitude wobble.

That's how pitch shifting has been done since Eventide's H949 Harmonizer in 1977. Sean Costello provides a good explanation here:

http://valhalladsp.wordpress.com/2010/05/07/pitch-shifting-the-h949-and-de-glitching/ 

-Richie,


Sent from my Sony Ericsson Xperia ray

Martin Fay <martin at martinfay.com> wrote:

>Hi Gordon,
>
>I believe the trick is to have 2 read pointers into the delay buffer  
>and crossfade between those outputs to avoid reading close to the saw  
>reset.
>
>Martin
>
>Sent from my iPhone
>
>On 10 Mar 2013, at 10:00, Gordon JC Pearce <gordonjcp at gjcp.net> wrote:
>
>> On 08/03/13 16:13, Tom Wiltshire wrote:
>>> That's a damn interesting gizmo. Does anyone have any idea how it  
>>> works?
>>>
>>
>> Someone on the SQ80 mailing list - where we were discussing time- 
>> based effects the other day, as it happens - mentioned a pitch  
>> shifter that modulated the delay clock with a sawtooth.  I can see  
>> how that would give a steady-ish pitch shift but surely it would  
>> "hiccup" as the saw reset?
>>
>> -- 
>> Gordonjcp MM0YEQ
>>
>>
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>_______________________________________________
>Synth-diy mailing list
>Synth-diy at dropmix.xs4all.nl
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy


More information about the Synth-diy mailing list