Pitch shifter

Shifts audio up or down by up to two octaves with a splicing delay line, with fine cents, feedback and a dry/wet mix.

  • Effect
  • Since 0.2.0
  • pitch
  • shift
  • octave
  • transpose
  • shimmer

Open in TuneToys

Pitch shifter as the Patch draws it, at default values: inlets on the left, outlets on the right.

Pitch shifter plays its input higher or lower without changing its speed, from two octaves down to two octaves up.

What it does#

The input runs through a short delay line read faster or slower than it is written, so the pitch moves by Semitones plus Fine. Before the read position drifts out of the Window, the shifter splices to a new position near the centre. It picks the one whose waveform best matches what is playing, then crossfades. On a held note the splice jumps by whole cycles, so a shifted tone stays steady and in tune. A sine lands within a fraction of a cent across the whole range.

Feedback sends the shifted sound back into the line, so each pass shifts again: an octave up with feedback climbs octave after octave as it fades. Mix blends the shifted sound with the dry input, which is delayed by the same amount so the two line up. Every channel of the cable is shifted with the same splices.

The node delays everything by half its largest Window (20 ms at the default 40 ms), and the Patch aligns parallel paths around it. At 0 semitones and 0 cents it is an exact delay.

When to use it#

Use it for octave doublers, fifths under a lead, detuned thickening at a few cents, and shimmering feedback climbs. To add several shifted voices with their own levels and pans, use the Harmonizer. To pull a voice onto the nearest note, use Pitch correction.

Ports#

PortDirectionSignalLanes
audioInputAudioInferred from the cable
audioOutputAudioInferred from the cable

Parameters#

ParameterLabelRangeDefaultUnitScaleNotes
semitonesSemitones-24 to 2412stlinearShift in semitones; fractional values and sweeps are allowed.
centsFine-100 to 1000centslinearFine shift added to Semitones, in cents.
window_msWindow10 to 10040mslinearSplice window. Longer windows smear transients less often and splice low notes cleanly; shorter ones respond faster. Latency is half the largest admitted window.
mixMix0 to 10.5linearDry/wet blend. The dry signal is delayed by the same latency before blending.
feedbackFeedback-0.75 to 0.750linearSigned gain feeding the shifted output back into the delay line, so each pass shifts again.

Semitones (semitones)#

The shift from −24 to 24 semitones. 12 is an octave up, 7 a fifth, −12 an octave down. Fractional values and sweeps glide smoothly.

Fine (cents)#

Up to 100 cents either way, added to Semitones. A few cents with Mix at 0.5 sounds like a doubled take.

Window (window_ms)#

How much audio each splice spans, 10 to 100 ms. Long windows suit low notes, pads and big shifts; short windows keep fast, percussive material tight. A splice lines up with notes whose period is shorter than half the window: 40 ms reaches down to 50 Hz, 10 ms to 200 Hz. The node's latency is half the largest value the Window can reach.

Mix (mix)#

The blend of the dry input and the shifted sound. 0 is only the input, 1 only the shifted sound.

Feedback (feedback)#

A signed gain from −0.75 to 0.75 that feeds the shifted output back into the line. Each pass shifts again and is quieter than the last. Negative values flip each pass's polarity.

Tips#

  • Semitones 12 with Mix 0.5 is a classic octave doubler; −12 adds weight under a lead.
  • Semitones 12 and Feedback 0.5 into a Reverb gives a shimmer.
  • For a chorus-like widening, set Semitones 0, Fine 8 and Mix 0.5.
  • Shifting works best on one note at a time; chords and drums smear more at large shifts.

See also#

Harmonizer, Pitch correction, Delay, Chorus.

Help patches

Each help patch is an ordinary Toy that teaches one idea. The diagram shows the Patch; the preview shows its Frame. Open it in TuneToys to play and edit it.

1. Shift up and down

beginner Teaches: semitones, cents, mix

A plucked saw with its octave above, blended by Mix.

Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Pitch shifter audio input. Pitch shifter audio output connected to Patch outputs audio input.
Connections as text
  • Oscillator audio output connected to Envelope audio input
  • Envelope audio output connected to Pitch shifter audio input
  • Pitch shifter audio output connected to Patch outputs audio input
  • The saw and its looping envelope only supply a sound to shift.
  • Semitones 12 adds the octave above; Mix 0.5 plays it with the original. Try 7 for a fifth or −12 for the octave below.
  • Fine adds cents. A few cents at Mix 0.5 thickens the sound like a doubled take.
Frame preview: Shift up and downFrame “Shift up and down” with 4 elements: knob Fine, text heading, knob Mix, knob Semitones.0 centsFineSHIFT UP AND DOWN0.5Mix12 stSemitones
Frame preview (static). Controls show their default values.

Open in TuneToys

2. Window and feedback

intermediate Teaches: window_ms, feedback, semitones

Feedback sends each octave back through the shifter, so the plucks climb.

Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Pitch shifter audio input. Pitch shifter audio output connected to Patch outputs audio input.
Connections as text
  • Oscillator audio output connected to Envelope audio input
  • Envelope audio output connected to Pitch shifter audio input
  • Pitch shifter audio output connected to Patch outputs audio input
  • Short sine plucks make each pass easy to hear.
  • Feedback feeds the shifted sound back in: every pass climbs another octave and fades. Negative values flip each pass.
  • Window sets how much audio each splice spans. Long windows suit low notes and smooth pads; short ones keep fast notes tight. The node is delayed by half the largest window.
Frame preview: Window and feedbackFrame “Window and feedback” with 4 elements: knob Feedback, text heading, knob Semitones, knob Window.0.5FeedbackWINDOW AND FEEDBACK12 stSemitones60 msWindow
Frame preview (static). Controls show their default values.

Open in TuneToys

  • Harmonizer Adds up to three pitch-shifted voices to the input, each with its own interval, level and pan.
  • Pitch correction Detects the pitch of a monophonic input and pulls it to the nearest note of the Toy tuning, a scale or held MIDI notes.
  • Delay Tempo-aware, smoothly retimed echoes with colored, ducked and explicit multichannel feedback.
  • Chorus Prepared multi-voice chorus, ensemble and vibrato over arbitrary channel bundles.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close