MusicClock
A rotation that lands on the beat when there is one, and keeps turning when there is not.
Locking straight to the tempo tracker's phase looks wrong twice: it jumps the moment a tempo is found, and it freezes on music with no steady beat. So this always turns at its own speed and is only pulled gently towards an accepted pulse phase, over a couple of seconds and without jerks.
beatsPerCycle is the number of pulses per visual cycle. It does not describe musical meter or establish a phrase boundary. One is a single pulse; larger cycles have an artistic origin.
Functions
Follow an accepted pulse phase, with a two-second rate handover to/from free motion. The cycle origin is chosen locally; no bar or phrase is inferred from counted pulses.
Moves the turn on by one frame and answers the new phase.