home/ atoms/ tidal-deterministic-randomness

Tidal's randomness is seeded by cycle count, so resetCycles restarts the same random sequence

In TidalCycles, all random functions (rand, irand, choose, etc.) are seeded by the current cycle number. This means at a given cycle time, the ‘random’ value is always the same. Running resetCycles resets the cycle counter to 0, causing all random patterns to replay from their starting sequence. A subtle consequence: if two patterns both use rand, they draw from the same sequence and may correlate. To decorrelate them, offset one slightly: slow 1.001 rand gives different numbers than rand. This deterministic randomness enables reproducible performances and compositions.

Examples

resetCycles — restart random streams. d1 $ sound "clap*2" # speed (range 0.1 2 rand) # pan (slow 1.001 rand) — decorrelated speed and pan.

Assessment

Explain why two parameters both using rand may sound correlated. How do you fix this? What practical benefit does deterministic randomness provide for live performance?

“In Tidal, randomness is "deterministic"”
corpus · tidalcycles-course-1-structured-4-week-course · chunk 13