home/ atoms/ strudel-chop-splice

splice time-stretches each chopped segment to its event duration; chop does not

chop(n) divides a sample into n equal segments and plays them in order, creating a stuttering effect at the original sample rate. splice(n, pattern) also divides into n segments, but additionally time-stretches each segment to fill its event duration — meaning the chop automatically adapts to the rhythm. slice(n, pattern) is like splice but without time-stretch. The practical difference: chop gives rhythmic subdivision; splice gives time-correct rearrangement of a break. splice also removes the need for fit() since it handles tempo-sync itself.

Examples

s(“amen/4”).fit().chop(16).cut(1).sometimesBy(.5, ply(2)) — chopped break. s(“amen”).splice(8, “<0 1 2 3 4*2 5 6 [6 7]>*2”).cut(1) — time-stretched resequenced break.

Assessment

Apply chop(8) to a break, then replace it with splice(8, same pattern) and listen for the difference in timing when events have different durations.

“If we use `splice` instead of `slice`, the speed adjusts to the duration of the event:”
corpus · music-code-strudel-worksheet-lucy-cheesman-peckham-digital · chunk 3