home/ atoms/ strudel-off

off delays a transformed copy of a pattern by a fraction of a cycle and layers it over the original

off(delay, transform) takes the current pattern, applies a transformation to a copy of it, time-shifts that copy by the given delay (as a fraction of a cycle), and plays both the original and the shifted copy simultaneously. The result is automatic counterpoint or echo-based layering: the transformed copy comes in slightly after the original. Delay values like 1/8 create tight canonic echoes; larger values create call-and-response. The transform is written as a lambda (arrow function), e.g. x=>x.speed(2).

Examples

sound(“bd cp [hh oh] bd”).fast(“1 <1 2>“).off(1/8, x=>x.speed(2)) — a pitch-shifted copy enters 1/8 cycle after the original.

Assessment

Use off(1/4, x=>x.gain(0.5)) on a melody. Describe the rhythmic and timbral relationship between the original and delayed layer.

“the pattern is delayed by 1/8th of a cycle, made faster with `speed(2)`, then played back on top of the original pattern”
corpus · music-code-strudel-worksheet-lucy-cheesman-peckham-digital · chunk 2
“copy, shift time & modify”