home/ atoms/ imperative-continuous-automation

Imperative engines can express tension arcs as continuous automation; cyclic engines can only produce section-quantized staircases

The imperative paradigm (ChucK/Sonic Pi/SuperCollider) advances time continuously and runs concurrent self-timed voices, enabling arrangement-level concepts like tension-arc, density-curve, and build-up as continuous automation — a value ramped at every now/sleep step. In cyclic and graph engines (Strudel/Tidal/Glicol), the same arcs are section-quantized: they are a staircase of section states because there is no session-timeline lane. This means that for smooth, continuously-evolving arcs and for independent-voice interplay that drifts and realigns, the imperative engines are the appropriate choice. The rig’s own browser engines (Strudel, Glicol) are section-quantized for arcs — this is not a limitation of the concept but of the specific engine environment.

Examples

ChucK build-up: ramp a gain value from 0.1 to 1.0 over 8 bars in a tight loop with 0.1::second => now. Strudel: can only switch between pre-defined density states at cycle boundaries.

Assessment

Explain why Strudel cannot produce a perfectly smooth 8-bar filter sweep (only an approximation), while ChucK can. What does ‘section-quantized’ mean in practice for arrangement design?

“continuous** automation (a value ramped every `now`/`sleep` step) — these are `native` there. In the cyclic/graph engines (Strudel/Tidal/Glicol) the same arcs are **section-quantized** — a staircase of section states, `approximate`”
context/ · L2-composer/music/time-and-concurrency.md · chunk 1