Harmonizer

Adds up to three pitch-shifted voices to the input, each with its own interval, level and pan.

  • Effect
  • Since 0.2.0
  • harmony
  • pitch
  • shift
  • voices
  • interval

Open in TuneToys

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

Harmonizer turns one note into a chord: it adds up to three copies of the input, each shifted by its own interval.

What it does#

Each voice is a Pitch shifter on one shared delay line. Its Interval sets the shift in semitones, its Level its gain and its Pan its place in the stereo field. Dry sets the input level and Wet the level of all voices together. The input is delayed by the same amount as the voices, so everything lines up. A voice at Level 0 is switched off and costs nothing.

Pan works on a two-lane (stereo) cable with the equal-power law of the Bus: −1 is left, 1 is right, and the centre sends each lane the level times about 0.71. On a mono or wider cable, Pan has no effect and every lane gets the voice at its Level.

The node delays everything by half its largest Window (20 ms at the default 40 ms), and the Patch aligns parallel paths around it.

When to use it#

Use it for instant thirds and fifths on a lead line, an octave below a melody, or stacked, panned backing voices. The intervals are fixed, so they suit a melody that stays in one key or chord; set them to a scale's intervals or change them with the music. For a single shifted copy with feedback, use the Pitch shifter.

Ports#

PortDirectionSignalLanes
audioInputAudioInferred from the cable
audioOutputAudioInferred from the cable

Parameters#

ParameterLabelRangeDefaultUnitScaleNotes
interval1Interval 1-24 to 244stlinearPitch of voice 1 relative to the input, in semitones.
level1Level 10 to 10.7linearGain of voice 1; 0 switches the voice off.
pan1Pan 1-1 to 1-0.5linearStereo position of voice 1 on a two-lane bundle: −1 left, 0 centre, 1 right, equal power. Ignored on other widths.
interval2Interval 2-24 to 247stlinearPitch of voice 2 relative to the input, in semitones.
level2Level 20 to 10.7linearGain of voice 2; 0 switches the voice off.
pan2Pan 2-1 to 10.5linearStereo position of voice 2 on a two-lane bundle: −1 left, 0 centre, 1 right, equal power. Ignored on other widths.
interval3Interval 3-24 to 2412stlinearPitch of voice 3 relative to the input, in semitones.
level3Level 30 to 10linearGain of voice 3; 0 switches the voice off.
pan3Pan 3-1 to 10linearStereo position of voice 3 on a two-lane bundle: −1 left, 0 centre, 1 right, equal power. Ignored on other widths.
dryDry0 to 11linearLevel of the input, delayed by the same latency as the voices.
wetWet0 to 10.7linearLevel of the summed voices.
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.

Interval 1, 2 and 3 (interval1, interval2, interval3)#

Each voice's shift from −24 to 24 semitones: 3 is a minor third, 4 a major third, 7 a fifth, 12 an octave. Fractional values detune.

Level 1, 2 and 3 (level1, level2, level3)#

Each voice's gain from 0 to 1. At 0 the voice is off.

Pan 1, 2 and 3 (pan1, pan2, pan3)#

Each voice's place on a stereo cable, from −1 (left) to 1 (right), equal power. Ignored on other widths.

Dry (dry)#

The level of the input, delayed to line up with the voices.

Wet (wet)#

The level of all voices together.

Window (window_ms)#

How much audio each splice spans, 10 to 100 ms, for every voice. Longer windows suit low notes and big intervals; shorter ones keep fast notes tight. The node's latency is half the largest value the Window can reach.

Tips#

  • Intervals 4 and 7 make a major triad, 3 and 7 a minor one.
  • Pan the third and fifth apart and keep an octave below in the centre for width without losing the root.
  • A voice at interval 0 with Level 0.5 and a small fractional detune, such as 0.08, thickens like a double.

See also#

Pitch shifter, Pitch correction, Chorus, Bus, Multichannel audio.

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. Add a third and a fifth

beginner Teaches: interval1, level1, interval2, level2, dry, wet

A plucked G becomes a major triad from one note.

Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Harmonizer audio input. Harmonizer audio output connected to Patch outputs audio input.
Connections as text
  • Oscillator audio output connected to Envelope audio input
  • Envelope audio output connected to Harmonizer audio input
  • Harmonizer audio output connected to Patch outputs audio input
  • One plucked G3: the harmonizer adds the other notes.
  • Interval 1 at 4 semitones is a major third, Interval 2 at 7 a fifth. Try 3 for a minor third.
  • Dry is the original note, Wet the voices together.
Frame preview: Add a third and a fifthFrame “Add a third and a fifth” with 7 elements: knob Dry, text heading, knob Interval 1, knob Interval 2, knob Level 1, knob Level 2, knob Wet.1DryADD A THIRD AND A FIFTH4 stInterval 17 stInterval 20.7Level 10.7Level 20.7Wet
Frame preview (static). Controls show their default values.

Open in TuneToys

2. Spread the voices

intermediate Teaches: pan1, pan2, interval3, level3, pan3, window_ms

The third and fifth spread left and right, with an octave below in the centre.

Patch: Oscillator audio output connected to Envelope audio input. Envelope audio output connected to Harmonizer audio input. Harmonizer audio output connected to Patch outputs audio input.
Connections as text
  • Oscillator audio output connected to Envelope audio input
  • Envelope audio output connected to Harmonizer audio input
  • Harmonizer audio output connected to Patch outputs audio input
  • Pan places each voice on a stereo cable: −1 left, 1 right. It has no effect on other widths.
  • Voice 3 at −12 adds the octave below; its Level brings it in.
  • A longer Window smooths the low voice; a shorter one keeps plucks crisp.
Frame preview: Spread the voicesFrame “Spread the voices” with 7 elements: text heading, knob Interval 3, knob Level 3, knob Pan 1, knob Pan 2, knob Pan 3, knob Window.SPREAD THE VOICES-12 stInterval 30.6Level 3-0.8Pan 10.8Pan 20Pan 330 msWindow
Frame preview (static). Controls show their default values.

Open in TuneToys

  • 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.
  • 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.
  • Chorus Prepared multi-voice chorus, ensemble and vibrato over arbitrary channel bundles.
  • Mixer Sum up to 32 channels, each with gain, pan, mute and solo, into one mix with a master level. Plug a cable in to add a channel.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close