- Audio
- Audio FX
Harmonizer
Purpose
Section titled “Purpose”Harmonizer adds pitch-shifted voices to a source and mixes them into one stereo output. By default it stacks fixed intervals above and below the input. It can also follow harmony from the music lane, taking its notes from a chord or scale source.
Insert it inline on a monophonic source such as a voice or lead. Wire audio into the audio input and route the output onward. For a fixed harmony, set the number of voices and the per-voice intervals. To follow live harmony, wire a chord or scale source and switch the mode so the voices track the incoming notes.
Inputs and outputs
Section titled “Inputs and outputs”- Input 0:
audiois the signal to harmonize. It accepts mono or stereo PCM and is required. - Input 1:
scaleaccepts a scale ring so voices stay in key. Optional. - Input 2:
chordaccepts a chord ring for chord-follow harmony. Optional. - Output 0:
outemits stereo audio with the harmony mixed in.
Controls
Section titled “Controls”- Mode: where harmony comes from: fixed intervals, or following the chord input.
- Numvoices: how many shifted voices are mixed in.
- Interval1 to IntervalN: semitone offset for each voice in interval mode.
- Wetdry: balance between the dry input and the harmonized voices.
- Rootnote: root used when resolving scale and chord harmony.
- A4hz: tuning reference for pitch conversion.
- Interval mode is the simplest path: set the number of voices and the intervals you want and play.
- Chord-follow mode lets symbolic harmony from the music operators drive the harmonized voices, the same way Bassline takes its harmony from a chord source.
- Harmonizing works best on clean monophonic input. Dense or noisy sources track less reliably.
Inputs
-
inrow required -
scalerow -
chordrow -
rootrow -
voicesrow
Outputs
-
outrow
Parameters
Section titled “Parameters” Numvoices (Numvoices) Int
op('harmonizer').par.Numvoices - Default:
3- Range:
- 1 to 8
Interval1 (Interval1) Int
op('harmonizer').par.Interval1 - Default:
0- Range:
- -24 to 24
Interval2 (Interval2) Int
op('harmonizer').par.Interval2 - Default:
4- Range:
- -24 to 24
Interval3 (Interval3) Int
op('harmonizer').par.Interval3 - Default:
7- Range:
- -24 to 24
Interval4 (Interval4) Int
op('harmonizer').par.Interval4 - Default:
12- Range:
- -24 to 24
Interval5 (Interval5) Int
op('harmonizer').par.Interval5 - Default:
-12- Range:
- -24 to 24
Interval6 (Interval6) Int
op('harmonizer').par.Interval6 - Default:
16- Range:
- -24 to 24
Interval7 (Interval7) Int
op('harmonizer').par.Interval7 - Default:
19- Range:
- -24 to 24
Interval8 (Interval8) Int
op('harmonizer').par.Interval8 - Default:
24- Range:
- -24 to 24
Wetdry (Wetdry) Float
op('harmonizer').par.Wetdry - Default:
0.5- Range:
- 0 to 1
Rootnote (Rootnote) Float
op('harmonizer').par.Rootnote - Default:
60- Range:
- 0 to 127
A4hz (A4hz) Float
op('harmonizer').par.A4hz - Default:
440- Range:
- 1 to 20000
Rootchannel (Rootchannel) Int
op('harmonizer').par.Rootchannel - Default:
0- Range:
- 0 to 63
Chordoctave (Chordoctave) Int
op('harmonizer').par.Chordoctave - Default:
0- Range:
- -4 to 4