Skip to content
Voro
  1. Audio
  2. Compose

Comp

Comp plays chords for you like a backing musician. It reads the current chord and the timeline and performs rhythmic accompaniment in a chosen style, from piano comping and guitar strums to synth stabs, organ swells, and Euclidean chord scatter. The result is playable note voices plus a control lane that follows the accents.

Wire a timeline clock into Input 0 and a chord source such as Progression into Input 1. Optionally drive Input 2 with a control to push density over time. Pick a Mode and Rate, set Density and Voices, and route voices to an instrument. The control output tracks the performance energy and can drive visuals or modulation.

  • Input 0: timeline timeline clock. Required.
  • Input 1: chord_state current chord. Required.
  • Input 2: density control that scales how busy the part is. Optional.
  • Output 0: voices emits the accompaniment as note voices.
  • Output 1: control emits an accent and energy lane that follows the part.
  • Mode: piano_comp, guitar_strum, synth_stab, organ_swell, or euclid_scatter.
  • Rate: rhythmic grid from step up to bar.
  • Pattern: rhythmic feel such as charleston, twobeat, or fourfeel.
  • Density and Complexity: how many hits play and how intricate they are.
  • Gate, Velocity, Accent: note length, level, and emphasis.
  • Swingfollow and Anticipate: how closely the part follows swing and how much it pushes ahead of the beat.
  • Spread: pitch spread of the voicing in semitones.
  • Voices: number of notes per chord, up to eight.
  • Strum and Mute: strum spread and muted-note amount for guitar feel.
  • Variation and Seed: how much the part evolves and a repeatable random sequence.
  • Comp follows whatever chord is wired in, so pair it with Progression for a full backing part.
  • Strum and Mute mainly shape the guitar style, while Spread and Voices shape the keyboard styles.
  • Use the control output to tie visuals to the accompaniment without a separate envelope.

Inputs

  • timeline row
    timeline_state_f32_v1
  • chord_state row required
    chord_state_v1
  • density row
    control_f32_v1

Outputs

  • voices row
    note_voices_f32_v1
  • control row
    control_f32_v1
Mode (Mode) Menu op('comp').par.Mode
Default:
piano_comp
Options:
piano_comp, guitar_strum, synth_stab, organ_swell, euclid_scatter
Rate (Rate) Menu op('comp').par.Rate
Default:
step
Options:
step, eighth, quarter, half, bar
Pattern (Pattern) Menu op('comp').par.Pattern
Default:
charleston
Options:
charleston, rev_charleston, twobeat, fourfeel, offbeats, clave, euclid, custom
Density (Density) Float op('comp').par.Density
Default:
0.68
Range:
0 to 1
Complexity (Complexity) Float op('comp').par.Complexity
Default:
0.48
Range:
0 to 1
Gate (Gate) Float op('comp').par.Gate
Default:
0.58
Range:
0.01 to 1
Velocity (Velocity) Float op('comp').par.Velocity
Default:
0.82
Range:
0 to 1
Accent (Accent) Float op('comp').par.Accent
Default:
0.55
Range:
0 to 1
Swingfollow (Swingfollow) Float op('comp').par.Swingfollow
Default:
0.75
Range:
0 to 1
Anticipate (Anticipate) Float op('comp').par.Anticipate
Default:
0.18
Range:
0 to 1
Spread (Spread) Float op('comp').par.Spread
Default:
0
Range:
-24 to 24
Voices (Voices) Int op('comp').par.Voices
Default:
4
Range:
1 to 8
Strum (Strum) Float op('comp').par.Strum
Default:
0.15
Range:
0 to 1
Mute (Mute) Float op('comp').par.Mute
Default:
0.04
Range:
0 to 1
Variation (Variation) Float op('comp').par.Variation
Default:
0.22
Range:
0 to 1
Seed (Seed) Int op('comp').par.Seed
Default:
73
Range:
-100000 to 100000