Last active
September 19, 2025 17:19
-
-
Save TCotton/ab8409914cb5a337b52699d53d3f3e94 to your computer and use it in GitHub Desktop.
Example of TidalCycle and as used on the YouTube demonstraton
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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