- Audio
- Compose
Progression
Purpose
Section titled “Purpose”Progression is the harmony engine for a generative set. From a scale and the timeline it builds a voice-led chord progression, shaped by tension, motion, and borrowing, and emits it as chord state for other Voro nodes plus a set of playable voices. You can let it wander, seed and lock a loop, follow a played root, or type a lead-sheet progression directly.
Wire a timeline clock into Input 0 and a scale into Input 1. Choose a Mode, set the Rate at which chords change, and route chord_state into harmony followers such as Bassline, Comp, and Chord while voices drives a pad or keys instrument. For a fixed progression, set Mode to defined and type the chords into the Progression field.
Inputs and outputs
Section titled “Inputs and outputs”- Input 0:
timelinetimeline clock. Required. - Input 1:
scalescale context. Optional, sets the key. - Input 2:
steera control used to follow or steer the harmony. Optional. - Output 0:
chord_statethe primary harmonic decision for downstream nodes. - Output 1:
voicesplayable polyphonic voices for an instrument.
Controls
Section titled “Controls”- Mode:
functionalfor purposeful changes,wanderfor free movement,followto reharmonize around a played root,definedto play a typed progression. - Rate: how often the chord changes, from
beattofour_bars. - Rootnote: key center.
- Tension, Motion, Borrow: how spicy, how active, and how often chords are borrowed from outside the key.
- Dejavu and Looplen: how strongly the progression locks into a repeating loop and its length.
- Voicing, Voices, Useseventh, Octave: how the chords are voiced.
- Velocity and Retrigger: level and whether voices retrigger on each chord.
- Progression: the typed chord string used in
definedmode, for exampleC Am F G. - Stepbeats, Steerchannel, Seed: timing of the typed progression, the steer input channel, and repeatable randomness.
- Send
chord_stateto every node that should follow the harmony so the whole patch stays in key. - Raise Dejavu to settle a wandering progression into a memorable loop.
definedmode reads a lead-sheet string, whilefollowreharmonizes around the steered root.
Inputs
-
timelinerow -
scalerow -
steerrow
Outputs
-
chord_staterow -
voicesrow
Parameters
Section titled “Parameters” Rootnote (Rootnote) Float
op('progression').par.Rootnote - Default:
55- Range:
- 0 to 127
Tension (Tension) Float
op('progression').par.Tension - Default:
0.4- Range:
- 0 to 1
Motion (Motion) Float
op('progression').par.Motion - Default:
0.5- Range:
- 0 to 1
Borrow (Borrow) Float
op('progression').par.Borrow - Default:
0.15- Range:
- 0 to 1
Dejavu (Dejavu) Float
op('progression').par.Dejavu - Default:
0- Range:
- 0 to 1
Looplen (Looplen) Int
op('progression').par.Looplen - Default:
4- Range:
- 1 to 8
Voices (Voices) Int
op('progression').par.Voices - Default:
4- Range:
- 1 to 8
Useseventh (Useseventh) Toggle
op('progression').par.Useseventh - Default:
Off- Options:
- Off, On
Octave (Octave) Int
op('progression').par.Octave - Default:
0- Range:
- -4 to 4
Velocity (Velocity) Float
op('progression').par.Velocity - Default:
0.8- Range:
- 0 to 1
Retrigger (Retrigger) Toggle
op('progression').par.Retrigger - Default:
On- Options:
- Off, On
Seed (Seed) Int
op('progression').par.Seed - Default:
1- Range:
- 0 to 100000
Steerchannel (Steerchannel) Int
op('progression').par.Steerchannel - Default:
0- Range:
- 0 to 63
Stepbeats (Stepbeats) Float
op('progression').par.Stepbeats - Default:
4- Range:
- 0.125 to 64
Progression (Progression) Str
op('progression').par.Progression - Default:
C Am F G