Home

TidalCycles

TidalCycles is a live coding environment and domain-specific language designed for algorithmic pattern-based music creation. It enables performers to compose, transform, and improvise musical sequences in real time by typing concise textual patterns that are interpreted and played by a computer.

Technically, TidalCycles is a Haskell-based DSL that communicates with the SuperDirt sound engine running in SuperCollider.

Common workflow centers on controlling either pitch data (n) or samples/synthesis (sound, s) and applying pattern-level

History and community: TidalCycles was created in the early 2010s by Alex McLean and collaborators as part

See also: live coding, SuperDirt, SuperCollider, Haskell.

A
user
runs
SuperDirt
and
connects
via
OSC
messages
from
a
Haskell
session.
Patterns
describe
sequences
of
events
such
as
notes,
durations,
samples,
and
synthesis
parameters,
and
they
are
sent
to
one
or
more
output
channels
(commonly
d1,
d2).
The
system
emphasizes
the
composition
of
patterns,
which
can
be
combined
with
functional
transforms
to
produce
evolving
textures.
operations
such
as
transposition,
density,
jitter,
truncation,
and
stretching.
TidalCycles
supports
clocked
timing
with
tempo
control,
swing,
and
microtiming,
enabling
precise
live
manipulation
during
performances.
It
also
integrates
with
a
range
of
sample
libraries
and
synthesis
options,
allowing
both
loop-based
and
granular
approaches.
of
the
live-coding
and
algorave
movement.
It
is
open-source
and
maintained
by
a
community
of
developers
and
performers,
with
documentation
and
tutorials
available
online.