Skip to content
Voro
  1. Audio
  2. Compose

Bassline

Bassline reads the current chord and the timeline and plays a bass part that stays in key and in time. It covers simple root and fifth patterns, octave bounces, walking lines, Euclidean pulses, funk slap with thumb, pop, and ghost notes, and 303-style acid with slides and accents. Because it re-reads the chord every step, it rides a chord progression and turns it into a rhythm-section bass.

Wire a chord source such as Progression into Input 0, a timeline clock into Input 1, and optionally a scale into Input 2. Choose a Style and Rate, set the Octave low, and the voices output drives a bass instrument like Synth. The same note output also works as a control source for sub-bass visuals.

  • Input 0: chord_state current chord. Required.
  • Input 1: timeline timeline clock. Required.
  • Input 2: scale scale context. Optional, helps keep passing notes in key.
  • Output 0: voices emits the bass line as note voices, with an optional doubled octave voice.
  • Style: root, root_fifth, octave, walk, euclid, arp, slap, or acid.
  • Rate: note speed from whole to sixteenth.
  • Octave: base octave, defaulting low for bass.
  • Hits: pulse count used by the Euclidean style.
  • Approach: chance of approach notes leading into the next root.
  • Ghost and Pop: funk articulation amount for the slap style.
  • Slide: glide and accent amount for the acid style.
  • Gatelen, Velocity, Accent: note length, level, and downbeat emphasis.
  • Doubleoct: adds a second voice one octave up.
  • Seed: sets the random choices so a line repeats.
  • Pair Bassline with Progression so the bass follows the harmony automatically.
  • Slap controls only shape the slap style and acid controls only shape the acid style.
  • Keep Octave low and Gatelen moderate for a tight, punchy bass.

Inputs

  • chord_state row required
    chord_state_v1
  • timeline row
    timeline_state_f32_v1
  • scale row
    scale_v1

Outputs

  • voices row
    note_voices_f32_v1
Style (Style) Menu op('bassline').par.Style
Default:
root
Options:
root, root_fifth, octave, walk, euclid, arp, slap, acid
Rate (Rate) Menu op('bassline').par.Rate
Default:
quarter
Options:
whole, half, quarter, eighth, sixteenth
Octave (Octave) Int op('bassline').par.Octave
Default:
-1
Range:
-4 to 2
Hits (Hits) Int op('bassline').par.Hits
Default:
8
Range:
1 to 16
Approach (Approach) Float op('bassline').par.Approach
Default:
0.35
Range:
0 to 1
Ghost (Ghost) Float op('bassline').par.Ghost
Default:
0.6
Range:
0 to 1
Pop (Pop) Float op('bassline').par.Pop
Default:
0.7
Range:
0 to 1
Slide (Slide) Float op('bassline').par.Slide
Default:
0.4
Range:
0 to 1
Gatelen (Gatelen) Float op('bassline').par.Gatelen
Default:
0.6
Range:
0.05 to 1
Velocity (Velocity) Float op('bassline').par.Velocity
Default:
0.85
Range:
0 to 1
Accent (Accent) Float op('bassline').par.Accent
Default:
0.3
Range:
0 to 1
Doubleoct (Doubleoct) Toggle op('bassline').par.Doubleoct
Default:
Off
Options:
Off, On
Seed (Seed) Int op('bassline').par.Seed
Default:
1
Range:
0 to 100000