home/ atoms/ tidal-cycles-pattern-based-live-coding

Tidal Cycles treats music as infinite cycles of patterns in a terse mini-notation manipulated live

Tidal Cycles, created by Alex McLean and appearing around 2009, is built on Haskell and uses SuperCollider for sound generation. Its core metaphor is music as infinite cycles: every sound is a pattern repeating in time, and patterns can be combined, transformed, and replaced on the fly. The mini-notation (e.g. "bd sd [hh hh]") expresses complex polyrhythmic sequences in a handful of characters. Because Haskell is functional, patterns are first-class values passed to higher-order functions, so the language itself can be manipulated and extended in real time. Tidal became arguably the most-used live coding environment in musical performance; Strudel (2022) is its browser-based port.

Examples

d1 $ sound "bd sd [hh hh]" # speed 1.5
d2 $ sound "cp(3,8)"   -- Euclidean rhythm in mini-notation

Assessment

Explain what Tidal means by treating music as infinite cycles of patterns, and why a functional language suits live manipulation of those patterns.

“**Tidal Cycles**, created by **Alex McLean**, appeared around 2009 and became arguably the most-used live coding environment in musical performance.”
corpus · the-history-of-live-coding-from-bell-labs-to-the-algorave-so · chunk 1