Skip to content
Voro
  1. Audio
  2. Compose

Chord

Chord turns a harmonic choice into usable note data. Give it a scale and a degree, set it to a fixed root and quality, or feed it chord events, and it builds the chord for you. It outputs a single note lane, the full chord state for other Voro nodes, and a set of playable voices you can send straight to an instrument.

Wire a scale into Input 0 and optionally drive the root or degree from control inputs. Set Mode, Voicing, and the number of Voices, then route voices into an instrument and chord into nodes that follow harmony, such as Bassline or Comp. Use Outputmode to pick MIDI numbers, hertz, or interval values on the out lane.

  • Input 0: scale scale context. Optional.
  • Input 1: root control for the root. Optional.
  • Input 2: degree control for the scale degree. Optional.
  • Input 3: chord_in chord events. Optional.
  • Output 0: out a single note value in the chosen output units.
  • Output 1: chord the full chord state for downstream harmony nodes.
  • Output 2: voices playable polyphonic voices for an instrument.
  • Mode: diatonic builds from the scale and degree, fixed uses your root and quality, chord_event follows incoming chord events.
  • Rootmode: whether the root comes from a degree, a note, or an input.
  • Outputmode: midi, hertz, or interval for the out lane.
  • Degree and Rootnote: the scale degree and the fixed root note.
  • Chordquality: triad or seventh quality such as maj, min, dom7, or maj7.
  • Useseventh: adds the seventh to diatonic chords.
  • Voicing: root, first_inv, second_inv, spread, or drop2.
  • Voices and Octave: how many notes are voiced and the octave shift.
  • Snapinput and Holdrelease: snap incoming pitches to the chord and hold notes through gaps.
  • A4hz: tuning reference for hertz output.
  • Use the chord output to keep a whole patch on the same harmony.
  • diatonic mode keeps every chord inside the wired scale, which is the easiest way to stay in key.
  • The voicing control reshapes the same chord without changing its harmony, useful for spreading notes across a register.

Inputs

  • scale row
    scale_v1
  • root row
    control_f32_v1
  • degree row
    control_f32_v1
  • chord_in row
    chord_event_v1

Outputs

  • out row
    control_f32_v1
  • chord row
    chord_state_v1
  • voices row
    note_voices_f32_v1
Mode (Mode) Menu op('chord').par.Mode
Default:
diatonic
Options:
diatonic, fixed, chord_event
Rootmode (Rootmode) Menu op('chord').par.Rootmode
Default:
degree
Options:
degree, note, degree_input, note_input
Outputmode (Outputmode) Menu op('chord').par.Outputmode
Default:
midi
Options:
midi, hertz, interval
Degree (Degree) Int op('chord').par.Degree
Default:
0
Range:
0 to 127
Rootnote (Rootnote) Float op('chord').par.Rootnote
Default:
60
Range:
0 to 127
Chordquality (Chordquality) Menu op('chord').par.Chordquality
Default:
maj
Options:
maj, min, dim, aug, sus2, sus4, dom7, maj7, min7, min7b5, dim7, power
Useseventh (Useseventh) Toggle op('chord').par.Useseventh
Default:
Off
Options:
Off, On
Voicing (Voicing) Menu op('chord').par.Voicing
Default:
root
Options:
root, first_inv, second_inv, spread, drop2
Voices (Voices) Int op('chord').par.Voices
Default:
4
Range:
1 to 8
Octave (Octave) Int op('chord').par.Octave
Default:
0
Range:
-4 to 4
Snapinput (Snapinput) Toggle op('chord').par.Snapinput
Default:
On
Options:
Off, On
Holdrelease (Holdrelease) Toggle op('chord').par.Holdrelease
Default:
Off
Options:
Off, On
A4hz (A4hz) Float op('chord').par.A4hz
Default:
440
Range:
1 to 20000
Rootchannel (Rootchannel) Int op('chord').par.Rootchannel
Default:
0
Range:
0 to 63
Degreechannel (Degreechannel) Int op('chord').par.Degreechannel
Default:
0
Range:
0 to 63