Skip to content
Voro
  1. Audio
  2. Compose

Source

Scale Source sets the key for a patch. It emits a scale, chosen by root note and scale type, that other Voro nodes read to stay in tune with each other. Wire it once and every note generator, chord, and bass that consumes a scale will share the same key.

Place Scale Source, pick a Root and a Scale, and route the out scale into the scale inputs of nodes such as Progression, Motif, Pattern, Bassline, and Chord. Change the Root or Scale at any time to move the whole patch to a new key.

  • No inputs. Scale Source generates its own output.
  • Output 0: out emits the scale for downstream nodes to follow.
  • Scale: scale type, including major, natural_minor, harmonic_minor, melodic_minor, the church modes, pentatonic and blues scales, chromatic, whole_tone, and diminished.
  • Root: key center from C to B.
  • Usehertz and Roothz: set the root by frequency instead of note name.
  • Octave: reference octave for the root.
  • Tempo: a tempo value carried alongside the scale.
  • Wire one Scale Source into every scale-aware node so the whole patch shares a key.
  • Switching Root or Scale live moves all connected generators together.
  • Use Usehertz with Roothz when you need an exact tuning reference.

Inputs

None

Outputs

  • out row
    scale_v1
Scale (Scale) Menu op('scale_source').par.Scale
Default:
natural_minor
Options:
major, natural_minor, harmonic_minor, melodic_minor, dorian, phrygian, lydian, mixolydian, locrian, major_pentatonic, minor_pentatonic, blues, chromatic, whole_tone, diminished, custom
Root (Root) Menu op('scale_source').par.Root
Default:
C
Options:
C, C#, D, D#, E, F, F#, G, G#, A, A#, B
Usehertz (Usehertz) Toggle op('scale_source').par.Usehertz
Default:
Off
Options:
Off, On
Roothz (Roothz) Float op('scale_source').par.Roothz
Default:
261.625565
Range:
1 to 20000
Octave (Octave) Int op('scale_source').par.Octave
Default:
4
Range:
0 to 8
Tempo (Tempo) Float op('scale_source').par.Tempo
Default:
120
Range:
20 to 300
Pcroot (Pcroot) Menu op('scale_source').par.Pcroot
Default:
on
Options:
off, on, avoid
Pcflat2 (Pcflat2) Menu op('scale_source').par.Pcflat2
Default:
off
Options:
off, on, avoid
Pc2 (Pc2) Menu op('scale_source').par.Pc2
Default:
on
Options:
off, on, avoid
Pcflat3 (Pcflat3) Menu op('scale_source').par.Pcflat3
Default:
on
Options:
off, on, avoid
Pc3 (Pc3) Menu op('scale_source').par.Pc3
Default:
off
Options:
off, on, avoid
Pc4 (Pc4) Menu op('scale_source').par.Pc4
Default:
on
Options:
off, on, avoid
Pcflat5 (Pcflat5) Menu op('scale_source').par.Pcflat5
Default:
off
Options:
off, on, avoid
Pc5 (Pc5) Menu op('scale_source').par.Pc5
Default:
on
Options:
off, on, avoid
Pcflat6 (Pcflat6) Menu op('scale_source').par.Pcflat6
Default:
on
Options:
off, on, avoid
Pc6 (Pc6) Menu op('scale_source').par.Pc6
Default:
off
Options:
off, on, avoid
Pcflat7 (Pcflat7) Menu op('scale_source').par.Pcflat7
Default:
on
Options:
off, on, avoid
Pc7 (Pc7) Menu op('scale_source').par.Pc7
Default:
off
Options:
off, on, avoid