Strudel's setcpm takes cycles per minute, not BPM — use setcpm(bpm/4) for 4-beat cycles
Strudel’s tempo function setcpm() takes cycles per minute, where one cycle equals one pattern repetition, not one beat. At 4 beats per cycle (the standard), setcpm(120/4) = 30 cpm gives 120 BPM. Passing a BPM value directly (e.g. setcpm(120)) produces a tempo four times faster than intended — 120 cycles per minute = 480 BPM equivalent. There is no error thrown. Alternatively, setcps(bpm/60/4) converts BPM to cycles per second. The seed value in this rig is setcpm(110/4) for 110 BPM.
Examples
setcpm(120) — runs at 480 BPM equivalent (120 cycles/min, 4 beats each). Correct: setcpm(120/4) = 30 cpm = 120 BPM with 4-beat cycles.
Assessment
Explain the difference between BPM and cpm in Strudel. Write setcpm() and setcps() calls that both produce 140 BPM with 4 beats per cycle.