Skip to content
Voro
  1. Audio
  2. Control

Transport In

Transport In is the way a clock gets into Voro. Pick a source with Sourcemode: free-run at a tempo, tap one in, take values from the host, or follow MIDI clock, SMPTE timecode, or an external transport such as Ableton Link. The output is the same timeline clock every other Voro operator reads.

Choose Sourcemode, then wire the matching input if the mode needs one. Wire out to anything with a timeline input.

  • internal: free-runs at Bpm.
  • host_anchor: reports Externalbeat and Externalseconds directly.
  • manual: free-runs at Bpm. Pulse Tap twice or more to set the tempo by hand, and Resync to return to the start.
  • host_chop: follows Bpm, Externalbeat, and Externalseconds from the host and smooths them.
  • follow_midi_clock: follows MIDI beat clock and start, continue, and stop on midi.
  • follow_ltc: follows SMPTE timecode on audio.
  • follow_obs: follows an external transport stream on obs, such as a Link provider.
  • Input 0: obs external transport events, for follow_obs. Optional.
  • Input 1: midi MIDI events, for follow_midi_clock. Optional.
  • Input 2: audio mono or stereo audio carrying timecode, for follow_ltc. The first channel is read. Optional.
  • Output 0: out the timeline clock.
  • Playing: runs or pauses the clock in the free-running modes. Followers take play state from their source when it sends one.
  • Sourcemode: which of the seven sources to use.
  • Metermode: free or metered. Bar, beat, and step values need metered.
  • Bpm: tempo for the free-running modes, and the starting tempo for followers.
  • Timesignum, Timesigden, Stepsperbar: meter for the clock. A meter sent by the source wins when there is one.
  • Loopactive, Loopstartbeat, Loopendbeat: a loop region announced to followers.
  • Sectionid: a number carried on the clock to mark the current section.
  • Grooveswing, Groovepush, Groovepull, Quantizestrength: groove settings carried on the clock.
  • Externalbeat, Externalseconds: position for host_anchor and host_chop.
  • Tap, Resync: pulses for manual.
  • Ppqn: MIDI clock pulses per quarter note. MIDI beat clock is 24.
  • Slewbpm: how fast the followed tempo may change, in BPM per second.
  • Phasepull: how strongly the clock is pulled toward the source’s phase, 0 to 1.
  • Freewheelms: how long a follower coasts after its source goes quiet, before it gives up.
  • Fps: timecode frame rate for follow_ltc.
  • The followers smooth the incoming clock. Position never runs backward and tempo changes glide, except when the source sends an explicit seek.
  • If the source goes quiet for Freewheelms, the clock coasts on its last tempo. After several times that, it gives up and free-runs at Bpm.
  • Tap needs two pulses. Tempos outside 1 to 999 BPM are ignored.
  • Reveal channels include the clock values plus locked, tempo_conf, phase_error, est_bpm, freewheeling, and follower_state.
  • Transport In covers everything Timeline Source does. Use Timeline Source when you only need a free-running clock.

Inputs

  • obs row
    transport_obs_v1
  • midi row
    midi_event_v1
  • audio row
    audio_pcm_f32_mono_v1audio_pcm_f32_stereo_v1

Outputs

  • out row
    timeline_state_f32_v1
Playing (Playing) Toggle op('transport_in').par.Playing
Default:
On
Options:
Off, On
Sourcemode (Sourcemode) Menu op('transport_in').par.Sourcemode
Default:
internal
Options:
internal, host_anchor, manual, host_chop, follow_midi_clock, follow_ltc, follow_obs
Metermode (Metermode) Menu op('transport_in').par.Metermode
Default:
metered
Options:
free, metered
Bpm (Bpm) Float op('transport_in').par.Bpm
Default:
120
Range:
1 to 999
Timesignum (Timesignum) Int op('transport_in').par.Timesignum
Default:
4
Range:
1 to 32
Timesigden (Timesigden) Int op('transport_in').par.Timesigden
Default:
4
Range:
1 to 64
Stepsperbar (Stepsperbar) Int op('transport_in').par.Stepsperbar
Default:
16
Range:
1 to 256
Loopactive (Loopactive) Toggle op('transport_in').par.Loopactive
Default:
Off
Options:
Off, On
Loopstartbeat (Loopstartbeat) Float op('transport_in').par.Loopstartbeat
Default:
0
Range:
0 to 1000000
Loopendbeat (Loopendbeat) Float op('transport_in').par.Loopendbeat
Default:
4
Range:
0 to 1000000
Sectionid (Sectionid) Int op('transport_in').par.Sectionid
Default:
0
Range:
0 to 16777216
Grooveswing (Grooveswing) Float op('transport_in').par.Grooveswing
Default:
0
Range:
0 to 1
Groovepush (Groovepush) Float op('transport_in').par.Groovepush
Default:
0
Range:
-10 to 10
Groovepull (Groovepull) Float op('transport_in').par.Groovepull
Default:
0
Range:
-10 to 10
Quantizestrength (Quantizestrength) Float op('transport_in').par.Quantizestrength
Default:
0
Range:
0 to 1
Externalbeat (Externalbeat) Float op('transport_in').par.Externalbeat
Default:
0
Range:
0 to 1000000
Externalseconds (Externalseconds) Float op('transport_in').par.Externalseconds
Default:
0
Range:
0 to 1000000
Tap (Tap) Pulse op('transport_in').par.Tap
Default:
None
Resync (Resync) Pulse op('transport_in').par.Resync
Default:
None
Ppqn (Ppqn) Float op('transport_in').par.Ppqn
Default:
24
Range:
1 to 960
Slewbpm (Slewbpm) Float op('transport_in').par.Slewbpm
Default:
30
Range:
0.1 to 500
Phasepull (Phasepull) Float op('transport_in').par.Phasepull
Default:
0.15
Range:
0 to 1
Freewheelms (Freewheelms) Float op('transport_in').par.Freewheelms
Default:
2000
Range:
100 to 30000
Fps (Fps) Float op('transport_in').par.Fps
Default:
30
Range:
1 to 120