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 ID | Type |
|---|---|
In | float |
Sync | trigger |
Reset | trigger |
BeatsPerBar | int |
Output ports
| Port ID | Type |
|---|---|
Out | float |
BeatPosition | float |
BeatsPerBar | int |
BeatPhase | float |
BarPhase | float |
BeatTrig | trigger |
BarTrig | trigger |
Reset | trigger |
Scriptable members
| Path | Type |
|---|---|
bpmInput | float |
beatsPerBarInput | int |
currentBpm | float |
currentBeatsPerBar | int |
Synapse Apps (scripting)
await synapse.modules.create({ type: "GlobalTempo" }) 







