TidalCycles' pattern model originates from Indian tabla rhythm analysis via Bernard Bel's Bol Processor syntax
Alex McLean developed TidalCycles’ mini-language for describing polyrhythmic sequences by adapting BP2 (Bol Processor 2), originally created by Bernard Bel to transcribe Indian tabla rhythms. McLean transferred the syntax into Haskell during his Masters degree at Goldsmiths, working on generating rhythmic continuations. This origin explains Tidal’s distinctive features: cyclic time conception (a cycle is the fundamental unit rather than a bar or beat), rich polyrhythmic nesting, and a notation that treats time as a ratio rather than an event list. The tabla heritage gives Tidal its expressiveness for non-Western rhythmic structures — patterns are specified as fractions of a cycle, not as absolute positions.
Examples
Tidal’s s "bd(3,8)" syntax for Euclidean rhythms, and nesting like "[bd bd] sn" at cycle level, both reflect the cycle-time model inherited from tabla transcription. BP2 similarly encodes rhythms as proportional subdivisions.
Assessment
Explain what ‘cyclic time’ means in TidalCycles and how this differs from a conventional DAW’s timeline. Why would tabla rhythm analysis lead to this model?