BPM

Exposes the global BPM clock as a signal. Use it to read the tempo, drive animations off the beat phase, or sync envelopes and oscillators to bars without manually configuring sync rates.

The BPM clock is shared across the whole project and can be set by tap tempo, MIDI clock, or Ableton Link. See BPM Sync for setup.

Inputs

This node has no inputs.

Outputs

PortTypeDescription
BPMScalarCurrent tempo in beats per minute
Beat PhaseScalarPosition within the current beat as a 0–1 ramp; resets every beat
Bar PhaseScalarPosition within the current bar (4 beats) as a 0–1 ramp; resets every bar

Ideas

  • Wire Beat Phase into an Oscillator's Phase input for waveforms that align to every beat.
  • Use Bar Phase as the trigger for a 4-beat sweep. Drive a From Polar node's angle for a full rotation per bar.
  • Multiply BPM by a constant to drive an animation rate that scales with tempo: slow when the song is slow, fast when it's fast.
  • Compare Beat Phase to a threshold (via Clamp or math) to gate signals on specific beats.

Tips

  • Beat Phase and Bar Phase are continuous 0–1 ramps that wrap on each cycle, not stepped values. They're equivalent to a Phasor locked to 1/4 (beat) or 1 bar (bar).
  • BPM updates as the tempo changes, so anything wired to it tracks tempo changes live.
  • For BPM-synced behavior on Phasor, Sequencer, and Laser Chase nodes, prefer the node's built-in BPM Sync toggle over wiring BPM here.
  • Phasor: BPM-synced ramp with offset and spread controls
  • Sequencer: step-based BPM-synced pattern
  • Timecode: timeline position instead of beat position