TidalCycles bite slices a pattern cycle into equal-sized pieces and addresses them by index, enabling arbitrary reordering of pattern sections
bite n indexPat p divides pattern p into n equal ‘bits’ per cycle, then selects and plays them in the order specified by indexPat. Unlike shuffle/scramble which randomize, bite gives explicit index-based control over section order. bite 4 "2 0 1 3" p plays section 2 first, then 0, then 1, then 3. Sections can also be reused, dropped, or time-stretched: bite 4 "2 [0 3] 1*4 1" gives section 2 its normal slot, sections 0 and 3 share a slot, section 1 plays four times in its slot, etc. This is close to a live pattern re-arranger: sections can be looped, gated, or stutter-cut on-the-fly.
Examples
d1 $ bite 4 "0 1 2 3" $ n "0 .. 7" # sound "arpy" -- normal order
d1 $ bite 4 "2 0 1 3" $ n "0 .. 7" # sound "arpy" -- section 2 first
d1 $ bite 4 "2 [0 3] 1*4 1" $ n "0 .. 7" # sound "arpy" -- time-stretch
Assessment
Explain the difference between bite 4 "0 1 2 3" and the unmodified pattern. Write a bite expression that loops section 3 four times then plays sections 0, 1, 2 once each. How is bite different from shuffle?