Skip to content

Instantly share code, notes, and snippets.

@TCotton
Last active September 19, 2025 17:19
Show Gist options
  • Select an option

  • Save TCotton/ab8409914cb5a337b52699d53d3f3e94 to your computer and use it in GitHub Desktop.

Select an option

Save TCotton/ab8409914cb5a337b52699d53d3f3e94 to your computer and use it in GitHub Desktop.
Example of TidalCycle and as used on the YouTube demonstraton
cps (120/60/4)
-- drum patterns in do block
do
let drumz1 = every 4 (|> sound "drum")
$ sound "[drum <dr:2>] drum *2"
# gain 0.7
# orbit 0 -- routed to audiochannel 1-2
let drumz2 = sound "[drum <dr:1>] drum [drum <techno:5>] drum /2"
# orbit 1 -- routed to audiochannel 3-4
let drumz3 = sound "<techno:1> *4"
# orbit 2 -- routed to audiochannel 5-6
let drumz4 = sound "co"
# orbit 3 -- routed to audiochannel 7-8
let drumz5 = sound "[<techno:3> <techno:2>] *2"
# orbit 4 -- routed to audiochannel 9-10
let cym = fast 2 $ sound "ho:4 hc ho:4 hc" # gain 0.45 # cut 1 # orbit 0
d1 $ stack [ drumz2 ]
-- # krush 6 # shape 0.3 # room 1 # gain 0.5 # delaytime (range 1.2 0.5 $ fast 4 sine)
hush
d1 silence -- beats
d2 silence -- piano intro
d3 silence -- uses fadeIn can't be silenced unless change first line of code
d4 silence -- piano sample
-- Reproduction of piano intro
d2
$ note "f e'min d'min c [10,14,17] a'min g'min f"
# sound "<bass3:0>"
# sustain 0.1
# room 0.9
# size 0.3
# gain 0.6
# orbit 5 -- routed to audiochannel 11-12
hush
d1 silence -- beats
d2 silence -- piano intro
d4 silence -- piano four
-- vocal sample
xfadeIn 1 4
$ slow 4
$ loopFirst
$ chew 4 "0 1*2 2*2 [~ 2]"
$ ghost' (1/4)
$ sound "<vocals_c:2>"
# gain 0.65
# room 2.0
# crush 4
# ring 0.5
# orbit 6 -- routed to audiochannel 13-14
solo 3
hush
unsolo 3
d2 silence
hush
-- piano sample
let spread1 = (spread ($) [jux rev, rev])
spread2 = spread ($) [density 2, rev, slow 2, striate 3, (# speed "0.8")]
juxrev = jux rev
revEffect = rev
palindrom = palindrome
in d4 $ stack [( -- in xfadeIn 1 1 $ stack [(
slow 2
$ juxrev
$ chop 32
$ sound "piano_c"
# gain 0.64
# room 1.0
# orbit 7 -- routed to audiochannel 15-16
)]
hush
d4 silence -- piano sample
xfadeIn 4 2 -- d5
$ note "f e'min d'min c [10,14,17] a'min g'min f"
# sound "<sf:1>"
-- # nudge 1.5
# room 1.0
# gain 0.6
-- # lpf (range 100 700 $ slow 8 sine)
-- # lpq 0.5
-- # sustain 4
# orbit 6 -- routed to audiochannel 13-14
--- haskel function signatures
--- # the same as the pipe operator |=| pipe equals pipe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment