Arpeggiator

Play held notes one at a time, locked to the transport: up, down, up-down, down-up, random, as played or as chords, over 1–4 octaves, with latch.

  • MIDI
  • Since 0.2.0
  • arpeggiator
  • arp
  • chords
  • sequencer
  • transport
  • midi

Open in TuneToys

Arpeggiator as the Patch draws it, at default values: inlets on the left, outlets on the right.

Arpeggiator plays the notes you hold one at a time, in time with the transport. Hold a chord and it climbs, falls, bounces or wanders through it, across up to four octaves, or replays the whole chord on every step.

What it does#

The arpeggiator keeps the notes held at its input, up to 32, tracked per source and channel so two keyboards never release each other's notes. On every step it plays the next note of the chosen order. Up and Down sort by pitch; Up-down and Down-up bounce without repeating the top and bottom; Random draws from a seed made from the node's path; As played keeps the order you pressed them in; Chord plays every held note together. Octaves repeats the pattern that many octaves up before it starts again.

Steps are locked to the transport's beat: a new chord starts on the next step, and live playing, take replay and offline renders agree note for note. Releasing a key only changes which notes are held. Every note the arpeggiator starts, it releases itself after Gate length of its step, or at once when the transport stops or jumps or an all-notes-off arrives, so a note never hangs. Other messages, such as pitch bend, sustain and controllers, pass through.

When to use it#

Use it to turn a held chord into a moving part, or with latch to keep a pattern running while your hands do something else. For a fixed melody, use Step sequencer.

Ports#

PortDirectionSignalLanes
midiInputMIDI16 MIDI channels
midiOutputMIDI16 MIDI channels

Parameters#

ParameterLabelRangeDefaultUnitScaleNotes
modeMode0 to 60linearOrder of the held notes. Random draws from a seed of the node's path; Chord plays every held note on each step. Choices: 0 Up, 1 Down, 2 Up-down, 3 Down-up, 4 Random, 5 As played, 6 Chord.
octavesOctaves1 to 41linearOctaves the pattern climbs before it repeats.
divisionDivision0 to 112linearLength of one step, locked to the transport's beat. Choices: 0 1/32, 1 1/16 triplet, 2 1/16, 3 1/16 dotted, 4 1/8 triplet, 5 1/8, 6 1/8 dotted, 7 1/4 triplet, 8 1/4, 9 1/4 dotted, 10 1/2, 11 1/1.
swingSwing0 to 0.750linearDelay of every second step, as a fraction of a step: 0 is straight, about 0.33 a triplet feel, 0.5 dotted.
gate_lengthGate length0.05 to 10.5linearHow long each note sounds, as a fraction of its step.
latchLatch0 to 10linearOn keeps playing released notes until a new note starts a new chord. Choices: 0 Off, 1 On.
velocityVelocity0 to 10linearUse each held note's own velocity, or Fixed velocity for every step. Choices: 0 As played, 1 Fixed.
fixed_velocityFixed velocity0 to 10.8linearVelocity of every step when Velocity is Fixed. Shown when velocity is 1.
channelChannel0 to 160linear0 keeps each note's own channel; 1–16 sends every step on one channel.

Mode (mode)#

The order of the held notes: Up, Down, Up-down, Down-up, Random, As played or Chord.

Octaves (octaves)#

How many octaves the pattern climbs before it repeats, 1 to 4. Notes above 127 are skipped. In Chord mode each step moves the chord up an octave.

Division (division)#

The length of one step, from 1/32 to a whole note, with triplet and dotted choices.

Swing (swing)#

Delays every second step by a fraction of a step, 0 to 0.75.

Gate length (gate_length)#

How much of its step a note holds, 0.05 to 1.

Latch (latch)#

Off or On. On keeps playing the notes after you let go; the first note you press after letting go of every key starts a new chord.

Velocity (velocity)#

As played uses each held note's own velocity; Fixed plays every step at Fixed velocity.

Fixed velocity (fixed_velocity)#

The velocity of every step when Velocity is Fixed, 0 to 1. Hidden otherwise.

Channel (channel)#

0 keeps each note's own channel; 1 to 16 sends every step on that channel.

Tips#

  • Latch with Up-down over two octaves gives a classic synth arpeggio from a single held chord.
  • Put a Transpose before the arpeggiator to shift the held chord, or after it to shift the pattern.
  • Random is the same on every replay: it is seeded, not truly random.

See also#

Keyboard, Step sequencer, Transpose, Polyphonic instrument.

Help patches

Each help patch is an ordinary Toy that teaches one idea. The diagram shows the Patch; the preview shows its Frame. Open it in TuneToys to play and edit it.

1. Arpeggiate a chord

beginner Teaches: mode, octaves, latch

Hold a chord on the keys and the arpeggiator plays it one note per sixteenth, in the chosen order and across octaves.

Patch: Keyboard midi output connected to Arpeggiator midi input. Arpeggiator midi output connected to Polyphonic instrument midi input. Polyphonic instrument audio output connected to Patch outputs audio input.
Connections as text
  • Keyboard midi output connected to Arpeggiator midi input
  • Arpeggiator midi output connected to Polyphonic instrument midi input
  • Polyphonic instrument audio output connected to Patch outputs audio input
  • Press play, then hold a chord: steps follow the transport, so the arpeggio starts on the next sixteenth.
  • Latch keeps playing after you let go; the next chord you press replaces it.
  • The arpeggiator releases every note it starts, so letting go never leaves a note hanging.
Frame preview: Arpeggiate a chordFrame “Arpeggiate a chord” with 5 elements: text heading, segmented Latch, segmented Mode, knob Octaves, piano Keys.ARPEGGIATE A CHORDOffOnLatchUpDownUp-downDown-upRandomAs playedChordMode1Octaves
Frame preview (static). Controls show their default values.

Open in TuneToys

2. Rhythm and velocity

intermediate Teaches: division, swing, gate_length, velocity, fixed_velocity

The arpeggio's rhythm and dynamics: step length, swing, note length, and played or fixed velocity.

Patch: Keyboard midi output connected to Arpeggiator midi input. Arpeggiator midi output connected to Polyphonic instrument midi input. Polyphonic instrument audio output connected to Patch outputs audio input.
Connections as text
  • Keyboard midi output connected to Arpeggiator midi input
  • Arpeggiator midi output connected to Polyphonic instrument midi input
  • Polyphonic instrument audio output connected to Patch outputs audio input
  • Up-down over two octaves, latched: hold a chord, let go, and shape the rhythm while it plays.
  • Fixed velocity plays every step at one level, whatever you pressed.
Frame preview: Rhythm and velocityFrame “Rhythm and velocity” with 7 elements: knob Division, knob Fixed, knob Gate, text heading, piano Keys, knob Swing, segmented Velocity.2Division0.8Fixed0.3GateRHYTHM AND VELOCITY0.3SwingAs playedFixedVelocity
Frame preview (static). Controls show their default values.

Open in TuneToys

  • Keyboard Notes from the on-screen piano and computer typing become MIDI. The face of the piano widget.
  • Step sequencer Up to 64 steps of notes, rests and ties locked to the transport, with per-step pitch, velocity and probability, swing and four directions.
  • Transpose Shift note numbers by semitones and octaves, clamped to the MIDI range.
  • Polyphonic instrument Eight owned, velocity-sensitive oscillator voices with ADSR, sustain and MPE, played from a MIDI cable in the Toy's tuning.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close