Skip to content
Voro
  1. Audio
  2. Compose

Orbit

Orbit generates polyphonic note patterns by stepping through number sequences instead of a written melody. Each voice follows a modular, multiplicative, sieve, or bitwalk path across scale degrees, producing interlocking lines that evolve in a structured but non-obvious way. It is a generative pitch engine for algorithmic and Xenakis-style composition.

Wire a timeline clock into Input 0 and a scale into Input 1, choose a Mode, and set the orbit numbers. Voicecount sets how many lines run at once, and the out voices drive a polyphonic instrument. Adjust Modulus, Multiplier, and Orbitstep to reshape the pattern while it plays.

  • Input 0: timeline timeline clock. Required.
  • Input 1: scale scale context. Optional, keeps the orbit in key.
  • Output 0: out emits the generated note voices.
  • Mode: orbit type. modular, multiply, sieve, or bitwalk.
  • Rootnote: base pitch for the orbit.
  • Voicecount: number of simultaneous voices, up to eight.
  • Orbitstep: degree step size for the walk.
  • Voiceoffset: degree spacing between voices.
  • Multiplier and Modulus: the core numbers that shape multiplicative and modular orbits.
  • Density and Gate: how many steps fire and note length.
  • Velocity: output level.
  • Octavefold: number of octaves the pattern folds across.
  • Seed: repeatable random elements.
  • Small changes to Modulus or Multiplier can reshape the whole pattern, so explore them in small steps.
  • Use Octavefold to keep a wide orbit inside a playable register.
  • Pair with a scale so every generated note stays musical.

Inputs

  • timeline row
    timeline_state_f32_v1
  • scale row
    scale_v1

Outputs

  • out row
    note_voices_f32_v1
Mode (Mode) Menu op('orbit').par.Mode
Default:
sieve
Options:
modular, multiply, sieve, bitwalk
Rootnote (Rootnote) Float op('orbit').par.Rootnote
Default:
50
Range:
0 to 127
Voicecount (Voicecount) Int op('orbit').par.Voicecount
Default:
4
Range:
1 to 8
Orbitstep (Orbitstep) Int op('orbit').par.Orbitstep
Default:
3
Range:
-24 to 24
Voiceoffset (Voiceoffset) Int op('orbit').par.Voiceoffset
Default:
2
Range:
-24 to 24
Multiplier (Multiplier) Int op('orbit').par.Multiplier
Default:
5
Range:
-31 to 31
Modulus (Modulus) Int op('orbit').par.Modulus
Default:
17
Range:
2 to 97
Density (Density) Float op('orbit').par.Density
Default:
0.72
Range:
0 to 1
Gate (Gate) Float op('orbit').par.Gate
Default:
0.38
Range:
0 to 1
Velocity (Velocity) Float op('orbit').par.Velocity
Default:
0.82
Range:
0 to 1
Octavefold (Octavefold) Int op('orbit').par.Octavefold
Default:
3
Range:
0 to 6
Seed (Seed) Int op('orbit').par.Seed
Default:
11
Range:
-100000 to 100000