home/ atoms/ tidal-degrade-probabilistic

Tidal's ? and degrade functions randomly remove pattern events to introduce controlled probabilistic variation

The ? suffix gives an event a 50% chance of playing each cycle; [bd sn cp hh]? gives the entire group a 50% chance. degradeBy 0.25 removes each event with 25% probability. sometimesBy p f applies a transformation function f with probability p to each event: sometimesBy 0.75 (# crush 4) bitcrushes 75% of events. Aliases: sometimes = 0.5, often = 0.75, rarely = 0.25, almostNever = 0.1, almostAlways = 0.9. Tidal’s randomness is deterministic — the same time position always yields the same ‘random’ outcome, so patterns are reproducible. Slowing or shifting time shifts which ‘random’ values appear.

Examples

d1 $ sound "bd? sd? sd? sd?"       // each has 50% chance
d1 $ degradeBy 0.25 $ sound "bd*16"
d1 $ sometimes (# crush 4) $ sound "bd arpy sn ~"
d1 $ rarely (# crush 4) $ sound "bd*8"

Assessment

Explain why Tidal’s rand is described as ‘deterministic.’ What does this mean for live performance? How would you get two apparently independent random streams?

“You can use the shorthand ? symbol if you want to give an event a 50/50 chance of happening or not on every cycle”
corpus · tidalcycles-userbase-tutorial-community-function-by-function · chunk 8