GlobalTempo

Read with AI
All docs in one file (llms-full.txt)
GlobalTempo #Tempo #Node
GlobalTempo

A node for reading and writing, from the graph, the single transport that runs across the whole app. Feeding a BPM into In changes the app’s tempo, and the beat position advancing at that tempo along with the various triggers are output. It is the starting point for making tempo sync visible on the graph, and Clock and LFO are supplied from here.

  • In / Out (BPM) — Clamped to 1-500. Default 128
  • BeatsPerBar — Clamped to 1-32. Default 4
  • BeatPosition — Running beat count since startup/Reset (fractional)
  • BeatPhase — 0-1 within the beat, BarPhase — 0-1 within the bar
  • BeatTrig fires every beat, BarTrig fires at the head of every bar
  • Sync rounds the beat position to the nearest beat, and Reset returns the beat position to 0 and fires the Reset output

There is only one transport. Even if multiple GlobalTempo nodes are placed they share the same tempo, so changing the BPM on one changes them all.

Beats crossed over during a dropped frame all fire together, but this is cut off at a maximum of 1024 beats per frame.

Input ports

Port IDType
Infloat
Synctrigger
Resettrigger
BeatsPerBarint

Output ports

Port IDType
Outfloat
BeatPositionfloat
BeatsPerBarint
BeatPhasefloat
BarPhasefloat
BeatTrigtrigger
BarTrigtrigger
Resettrigger

Scriptable members

PathType
bpmInputfloat
beatsPerBarInputint
currentBpmfloat
currentBeatsPerBarint

Synapse Apps (scripting)

await synapse.modules.create({ type: "GlobalTempo" })

Pages linking here

Also referenced from