home/ atoms/ hydra-array-arg-sequencing

A Hydra array argument sequences values one per BPM cycle, not a smooth ramp or average

When an array is passed as a Hydra parameter — e.g. osc([10,20,30]) — Hydra sequences through the values one per cycle, paced by the global bpm (default 30). It does not average them, interpolate them, or produce a ramp. Common confusions: expecting a smooth sweep (add .smooth() or .ease('easeInOutCubic'); raw arrays step) and finding the speed wrong (it is relative to bpm, not to time; .fast(n) speeds it). Mixing an array with a thunk in the same argument does not work — choose one.

Examples

osc([10,20,30]).out(o0) // steps: 10, then 20, then 30, one per cycle osc([10,20,30].smooth()).out(o0) // interpolates between values

Assessment

A student expects osc([20,40]) to produce a smooth continuous sweep between 20 and 40. Explain what actually happens and rewrite it to achieve the smooth sweep.

“Array-arg sequencing is not `() =>` `osc([10,20,30])` **sequences** those values one per cycle (paced by global `bpm`), it does not average them.”
context/ · L1-instruments/hydra/gotchas.md · chunk 1