home/ atoms/ estuary-shared-tempo-cps

Estuary maintains a single shared tempo (CPS/BPM) that all languages and ensemble members follow

All performers in an Estuary ensemble see and follow the same global tempo, expressed as CPS (cycles per second) or BPM (beats per minute). The !setCPS <value> and !setBPM <value> terminal commands set it for the whole ensemble. This shared tempo enables multi-language synchronisation: MiniTidal patterns, CineCer0 video timing, Punctual oscillators, and the Metre widget all align to the same cycle grid. Audio latency can be compensated with !delay <seconds> to offset Estuary’s audio output and account for network or speaker lag.

Examples

!setBPM 120    -- sets global tempo to 120 BPM
!setCPS 0.5   -- 0.5 cycles per second = 30 BPM
!delay 0.05   -- add 50ms audio delay for latency compensation

Assessment

Two performers at opposite ends of a room measure a 40ms audio latency difference. Which !delay value should the lagging machine use and what happens if the wrong performer applies it?

“SetCPS Double | SetBPM Double |”
corpus · estuary-collaborative-browser-live-coding-platform-networked · chunk 76