The Patchbay_

TidalCycles Cheat Sheet

The core TidalCycles syntax on one page — mini-notation, the pattern transformations you reach for constantly, and the common synth and effect controls.

Play & stop

d1 $ sound "bd sn hh sn"Play a pattern on channel d1
hushSilence everything
d1 silenceStop just channel d1
once $ sound "bd"Trigger a pattern a single time

Mini-notation (inside the "")

bd sn hh cpA sequence, one step each per cycle
bd*2Play twice as fast (repeat)
bd/2Play once every two cycles
[bd sn] hhGroup — the bracket fills one step
bd(3,8)Euclidean rhythm: 3 hits over 8 steps
<bd sn cp>Alternate — one per cycle in turn
bd:3Sample number 3 from the bd folder
~A rest / silence
bd . hh hhPhrase groups separated by a dot

Pattern transformations

fast 2 $ pSpeed the pattern up ×2 (also: density)
slow 2 $ pSlow it down ×2 (sparsity)
rev $ pReverse each cycle
every 4 (fast 2) $ pApply a function every 4th cycle
jux rev $ pDo it normally left, transformed right (stereo)
iter 4 $ pShift the start point one step each cycle
chunk 4 (# crush 4) $ pApply to a different quarter each cycle
stack [p1, p2]Layer patterns together
palindrome $ pPlay the cycle forwards then backwards

Notes, synths & scales

n "0 2 4 7" # sound "arpy"Play sample-mapped notes
note "c e g" # sound "superpiano"Note names into a synth
n (scale "minor" "0 1 2 3") # sound "arpy"Map degrees through a scale
# sound "supermandolin"Choose the synth / sample bank

Effects (chain with #)

# gain 0.8Level of each event
# speed 2Playback speed / pitch of samples
# lpf 800Low-pass filter cutoff (also hpf)
# room 0.4 # size 0.8Reverb amount and size
# delay 0.5 # delaytime 0.25Delay send and time
# pan 0.2Stereo position 0–1
# crush 4Bit-crush (lower = more)
# shape 0.3Waveshaping distortion

Tempo

setcps 0.5Set cycles per second (0.5 = one cycle every 2 s)
setcps (135/60/4)Roughly 135 BPM in 4/4

TidalCycles — Haskell pattern language for live coding. · TidalCycles in the tool directory →

← All cheat sheets