Tidal is a language for live coding pattern. It
provides a way to express music with very flexible timing, providing a
little language for describing patterns as discrete sequences (which
can be polyphonic and polymetric), some generators of continuous
patterns (e.g. sinewaves, sawtooths) and a wide range of pattern
transformations. Tidal is highly 'composable' in that pattern
transformations can be easily combined together, allowing you to
quickly create complex patterns from simple ingredients.
Tidal does not make sound itself, but rather controls synths using
Open Sound Control or MIDI. By default, for its sister the Dirt
To see and hear Tidal in action, check out
some of the videos of demos and
Tidal is embedded in the Haskell language. You don't really have to
learn Haskell to use Tidal, but it might help to pick up an
introduction. You could try Graham Hutton's "Programming in Haskell"
or Miran Lipovača's
Learn you a Haskell for Great Good . Or, you could try learning enough
syntax to get by just by playing around with Tidal..
See it in action