v0.1Latest

Sequencing and Clock

Throughline beta focuses on DAW-hosted timing. Use your DAW for piano-roll patterns, clips, and step sequencing. Inside Throughline, use clocks to keep Euclidean patterns, modulation, and arpeggiation aligned with the host.

The basic beta chain is:

Signal flow diagramMIDI Input connects to MIDI Arpeggiator via MIDI. Clock connects to MIDI Arpeggiator via Clock phase. MIDI Arpeggiator connects to MIDI Decode via MIDI.MIDIClock phaseMIDIMIDI InputClockMIDI ArpeggiatorMIDI Decode
Diagram as text

MIDI Input connects to MIDI Arpeggiator via MIDI. Clock connects to MIDI Arpeggiator via Clock phase. MIDI Arpeggiator connects to MIDI Decode via MIDI.

graph LR
    MIDI[MIDI Input] -->|MIDI| ARP[MIDI Arpeggiator]
    CLOCK[Clock] -->|Clock phase| ARP
    ARP -->|MIDI| DECODE[MIDI Decode]

The Clock

Clock is the timing source for clock-driven patches. Its Clock output carries musical beat phase from the clock origin. Downstream nodes use that shared phase to derive their own subdivisions, dotted timing, and swing without needing separate clocks for different rates.

Source: Host vs Internal

The Clock's Source param selects where timing comes from:

Source Tempo comes from Sequencers start / stop with Use when
Host Your DAW's tempo Your DAW's transport (play/stop) Running inside a DAW and you want everything locked to the project
Internal The Clock's BPM The Clock's Transport button Sketching timing independent of the host transport

With Source = Host, the Clock tracks the host playhead during playback. While the host transport is stopped, its musical phase keeps advancing at the current host BPM so synced delays, modulation, and other sound-design nodes respond to tempo edits in real time. The structured Clock still reports that transport is stopped, so sequencers emit no new notes. Beat and bar position facts stay at the stopped playhead (and update if you relocate it), while the free-running phase continues independently; relocation while stopped does not reset that phase. Starting transport emits a reset and realigns phase to the current project position. When no host playhead is available, the Host Unavailable param decides what happens: Idle stays idle, Use Internal Tempo falls back to the Clock's own BPM.

With Source = Internal, the Clock ignores the host playhead and runs from its own BPM, started and stopped by its Transport button.

Clock Controls

  • Source selects Host or Internal timing.
  • Transport runs the Clock when Source = Internal.
  • Host Unavailable chooses the fallback when host timing is selected but no host playhead is present.
  • BPM is the tempo used under internal timing.
  • Run is an optional gate input. While connected, the clock advances only when this gate is high.
  • Reset is an optional trigger input. A rising edge restarts the clock's phase.

Clock Divider fans one clock out into fixed musical divisions. Patch its outputs into clockable Rate or Time inputs when several nodes should share the same clock at different divisions:

Arpeggiation

MIDI Arpeggiator takes held notes on its MIDI In and arpeggiates them. Its Clock input is required; without a connected Clock it emits no new notes.

  • Direction cycles the held notes Up, Down, Up/Down, or Random.
  • Subdivision is the rhythmic division denominator: higher values make shorter steps and place notes closer together (4 is a quarter note, 8 an eighth note, and so on).
  • Octaves spans the pattern across 1 to 4 octaves.
  • Swing offsets alternate notes for a swung feel.
  • Gate Length sets note length as a fraction of the step. Low values are staccato; 1.0 is fully legato.
  • Latch keeps the captured notes arpeggiating after you release the keys. A new chord replaces the old one on the next clock cycle.

Because the arpeggiator emits MIDI, anything on MIDI Processing applies to its output. MIDI Scale Quantize after a Random direction keeps the result in key; MIDI Humanize loosens the timing.

When you add an arpeggiator or Euclidean Sequencer, Throughline connects it to an existing Clock—preferring a host Clock—or creates and connects one internal Clock. Imported patches with a missing Clock remain silent until you repair the connection explicitly. Set the sequencer's own subdivision or pattern controls to choose its rhythm.

Euclidean Sequencing

Euclidean Sequencer distributes Pulses across Steps with Throughline's anchored bucket-distribution pattern. Every non-empty unrotated pattern starts on a pulse. Increasing Rotation moves pulses to later steps (clockwise in the display) and wraps them at the end of the pattern. The circular display uses the same canonical pattern as the native MIDI generator.

Set Pitch and Velocity for the emitted MIDI notes. Gate Ratio sets each note's duration as a fraction of the interval received from the wired Clock. The complete pattern spans four incoming Clock phase units, so changing Steps changes how that cycle is divided without adding a separate rate parameter.

The Clock connection is explicit and required. Wiring a Clock Divider between Clock and Euclidean Sequencer changes the interval that drives the pattern. Divider Swing currently stretches every selected interval by the same amount; it does not alternate long and short steps. A missing or unavailable Clock never falls back to ambient host transport: the sequencer stays silent until you wire a usable Clock.

Sending Notes Somewhere

Because the arpeggiator emits MIDI, route MIDI Out to:

Beta Scope

Step sequencing, audio clips, and MIDI clips are disabled in the beta. Build clip and piano-roll content in the DAW, then route MIDI into a Polyphony Zone or a monophonic voice. Euclidean Sequencer is available for customer patches.

Troubleshooting

Symptom Likely cause Fix
A sequencer does not play until you hit play Clock Source is Host This is correct: sequencers follow host transport while synced effects and modulation keep receiving tempo.
Patch is silent with no DAW running Clock Source is Host with no host playhead, and Host Unavailable is Idle Set Source to Internal, or set Host Unavailable to Use Internal Tempo.
Internal clock will not run Clock Transport is stopped Press the Clock's Transport Start button.
Arpeggiator does not move No held MIDI notes, missing Clock connection, or the connected Clock is idle Hold notes, wire a Clock, then start host or internal Clock transport.

Rules of Thumb

  • A clock provides musical phase; arpeggiators and sequencers stay silent without one.
  • The Clock's Source decides where time comes from.
  • Set the Clock's Source to Host to lock clock-driven patches to your DAW.
  • Use your DAW for clip, piano-roll, and step sequencing during the beta; use Euclidean Sequencer for anchored pulse patterns inside Throughline.