Tidal - Pattern language for live coding of music
Alex McLean · Zenodo (CERN European Organization for Nuclear Research) · 2010
Computer language for the description of pattern has been employed for both analysis and composition of music. In this paper we investigate the latter, with particular interest in pattern language for use in live coding performance. Towards this end we introduce Tidal, a pattern language designed for music improvisation, and embedded in the Haskell programming language. Tidal represents polyphonic patterns as a time varying function, providing an extensible range of pattern generators and combinators for composing patterns out of hierarchies of sub-patterns. Open Sound Control (OSC) messages are used to trigger sound events, where each OSC parameter may be expressed as a pattern. Tidal is designed to allow patterns to be created and modified during a live coded performance, aided by terse, expressive syntax and integration with an emerging time synchronisation standard.