Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
657 lines (457 sloc) 21 KB
t-- TidalCycles workshop worksheet
-- By Lucy Cheesman, Richard Eason, Alex McLean with inspiration
-- from Alexandra Cardenas
-- CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
-- Suggestions and edits/patches welcome
-- * Make a sound
d1 $ sound "arpy"
-- * Stop making a sound by replacing with silence
d1 silence
-- * Pick a different sound from the same set, with ':'
d1 $ sound "arpy:1"
-- * Explore more sounds:
-- flick sid can metal future gabba sn mouth co gretsch mt arp h cp cr
-- newnotes bass hc tabla bass0 hh bass1 bass2 oc bass3 ho odx
-- diphone2 house off ht tink perc bd industrial pluck trump
-- printshort jazz voodoo birds3 procshort blip drum jvbass psr wobble
-- drumtraks koy rave bottle kurt latibro rm sax lighter lt arpy feel
-- less stab ul
-- * Where do these sounds come from? How do I add more?
-- In the menus in SuperCollider (not atom):
-- - File > Open user support directory > downloaded-quarks > Dirt-Samples
-- * Make a sequence
d1 $ sound "bd hh sn hh"
-- * Add a silence/rest in a sequence with '~'
d1 $ sound "bd ~ sn:3 bd sn:5 ~ bd:2 sn:2"
-- * The longer the sequence, the faster it runs
d1 $ sound "bd bd hh bd sn bd hh bd"
-- * Play more than one sequence at once with d1 ... d9
d2 $ sound "sn [sn:2 sn] bd sn"
-- * Change the global cycles per second (equivalent to BPM)
cps 0.6
-- * Pause everything (remember to put negative numbers in parenthesis)
cps (-1)
-- * Start again
cps 0.6
-- * Hush stops makes everything silent at once
hush
-- * Effects
-- ** vowel
d1 $ sound "drum drum drum drum" # vowel "a o"
-- The 'structure' comes from the left - try swapping the parameters
d1 $ vowel "a o ~ i" # sound "drum"
-- ** gain
d1 $ sound "bd hh sn:1 hh sn:1 hh" # gain "1 0.7 0.5"
-- 'sine1' is a continuous pattern following a sine curve from 0 to 1 and back
d1 $ sound "bd*32" # gain sine1
-- ** 'speed' and up
-- speed of playback, e.g. 2 = up an octave
d1 $ speed "1 2 4" # sound "jungbass:6"
-- up - semitones, e.g. 12 = up an octave
d1 $ up "0 ~ 12 24" # sound "jungbass:6"
d1 $ sound "numbers:1 numbers:2 numbers:3 numbers:4"
d1 $ sound "numbers:1 numbers:2 numbers:3 numbers:4" # speed "1 1.5 2 0.5"
-- ** pan - 0 = left, 0.5 = middle, 1 = right
d1 $ sound "numbers:1 numbers:2 numbers:3 numbers:4" # pan "0 0.5 1"
-- We can use * to repeat a step, e.g. this plays 16 kick drums per cycle,
-- panned from left to right following a sine curve, pitched right up:
d1 $ sound "drum*16" # pan sine1 # speed "4"
-- ** shape - distortion (careful - also makes the sound much louder)
d1 $ sound "kurt:4 kurt:4" # shape "0 0.78" # gain "0.7"
-- * feeling brave ?
-- http://tidalcycles.org/patterns.html#effects
-- delay / delaytime / delayfeedback
-- cutoff / resonance
-- room / size
-- * Subsequences
-- Fit a subsequence into a step with square brackets:
d1 $ sound "bd [bd cp] bd bd"
-- This can make for flexible time signatures:
d1 $ sound "[bd bd sn:5] [bd sn:3]"
-- You can put subsequences inside subsequences:
d1 $ sound "[[bd bd] bd sn:5] [bd sn:3]"
-- Keep going..
d1 $ sound "[[bd [bd bd bd bd]] bd sn:5] [bd sn:3]"
-- * Polymetric / polyrhythmic sequences
-- Play two subsequences at once by separating with a comma:
d1 $ sound "[voodoo voodoo:3, arpy arpy:4 arpy:2]"
-- compare how [,] and {,} work:
d1 $ sound "[voodoo voodoo:3, arpy arpy:4 arpy:2]"
d1 $ sound "{voodoo voodoo:3, arpy arpy:4 arpy:2}"
d1 $ sound "[drum bd hh bd, can can:2 can:3 can:4 can:2]"
d1 $ sound "{drum bd hh bd, can can:2 can:3 can:4 can:2}"
d1 $ sound "[bd sn, can:2 can:3 can:1, arpy arpy:1 arpy:2 arpy:3 arpy:5]"
d1 $ sound "{bd sn, can:2 can:3 can:1, arpy arpy:1 arpy:2 arpy:3 arpy:5}"
-- * What is pattern, anyway?
-- Lets think about different kinds of pattern and how Tidal can
-- represent them
-- ** cyclic / repetitive
d1 $ n "0 1 2 3" # sound "arpy"
d1 $ n (run 4) # sound "arpy"
-- ** symmetry
-- compare these:
d1 $ slow 2 $ n "0 1 2 3 3 2 1 0" # sound "arpy"
d1 $ palindrome $ n (run 4) # sound "arpy"
-- ** self similarity
d1 $ slow 4 $ n "[0 1 2 3] [0 1 2 3]*2 [0 1 2 3]*4 [0 1 2 3]*8" # sound "arpy"
d1 $ slowspread (density) [1,2,4,8] $ n "0 1 2 3" # sound "arpy"
-- ** interference
-- There's a lot of ways of making patterns interfere with each other, e.g.
-- polyrhythm:
d1 $ sound "{arpy arpy:2 arpy:4, arpy:5 arpy:0}"
-- A canon / round
d1 $ jux rev $ weave 16 (n (run 8) # sound "arpy")
[vowel "a e i",
vowel "e i*2 o u",
speed "1 1.5 ~ 1",
speed "2 1 0.5"
]
-- transforming sequences
-- slow
d1 $ sound "arpy arpy:1 arpy:2 arpy:3"
d1 $ slow 2 $ sound "arpy arpy:1 arpy:2 arpy:3"
-- density
d1 $ density 2 $ sound "arpy arpy:1 arpy:2 arpy:3"
-- density 2 is the same as slow 0.5 ..
d1 $ slow 0.5 $ sound "arpy arpy:1 arpy:2 arpy:3"
-- Reversing
d1 $ rev $ sound "arpy arpy:1 arpy:2 arpy:3"
-- iter
d1 $ iter 4 $ sound "arpy arpy:1 arpy:2 arpy:3"
-- every
-- every fourth cycle, make twice as dense:
d1 $ every 4 (density 2) $ sound "arpy arpy:1 arpy:2 arpy:3"
-- Feeling brave? More than one transformation is possible
d1 $ jux (rev . (slow 1.5)) $ sound "arpy arpy:1 arpy:2 arpy:3"
-- slowspread
-- cycles through a list of parameters:
d1 $ slowspread (density) [2, 1.5, 4, 16] $ sound "bd sn:2 hh sn:1"
-- slowcat
d1 $ slowcat [sound "bd sn:3",
sound "arpy can arpy:3 can"
]
-- stack
d1 $ stack [sound "bd sn:3",
sound "arpy can arpy:3 can"
]
-- * Transforming effect sequences
-- Everything is a pattern!
d1 $ sound (density 2 "arpy arpy:1 arpy:2 arpy:3")
# speed (every 2 (density 2) "1 2 3 4")
-- * Longer samples and 'granular synthesis'
-- ** chop
d1 $ sound "bev"
-- when you hush, it keeps playing through:
hush
-- chop it into bits:
d1 $ chop 32 $ sound "bev"
-- slow it down to fit 8 cycles:
d1 $ loopAt 8 $ chop 128 $ sound "bev"
-- ** transform the grain pattern:
d1 $ rev $ loopAt 8 $ chop 128 $ sound "bev"
-- ** striate vs chop
d1 $ slow 4 $ chop 4 $ sound "arpy:1 arpy:2 arpy:3 arpy:4"
d1 $ slow 4 $ striate 4 $ sound "arpy:1 arpy:2 arpy:3 arpy:4"
-- * Arbitrariness and 'random numbers'
-- ** randslice
d1 $ randslice 32 $ sound "bev"
-- ** random sample
d1 $ sound "arpy*8" # n (irand 16)
-- ** sometimes
d1 $ sometimes (# speed "2") $ sound "drum*8"
-- ** often
d1 $ often (# speed "2") $ sound "drum*8"
-- ** degrade
d1 $ degrade $ sound "bd sn cp sn:2"
-- ** Use ? to make sounds optional..
d1 $ sound "bd sn:2? bd sn?"
-- Some more complex examples:
d1 $ spin (3) $ smash 4 [1,0.5,0.25,2] $ sound "odx*4"
|+| speed "0.5"
-- Weave vocal strands
d1 $ weave' 16 ((slow 16 $ striate' 128 (1/64) $ sound "bev*2") |+| pan sine1)
[(vowel "a e i o u" |+|),
(vowel "i e p u" |+|),
(speed "1 1.5 0.5" |+|)]
-- pour the wine
d1 $ stack [slow 4 $ every 2 (rev) $ slow 32 $ striate 256 $ sound "[bev]*6"
|+| pan "1",
slow 2 $ every 2 (rev) $ slow 32 $ striate 256 $ sound "[bev]*4"
|+| pan "0"]
-- Weave kicks
d1 $ jux (density 1.5) $ weave 16 (shape (scale 0 0.8 sine1)) (map (every 4 rev) $
[sound "bd8(3,8)", sound "drum(5,8)"])
|+| speed "1"
|+| accelerate "-1"
-- plastik
d1 $ weave 16 (speed (scale 1 1.4 sine1)) [jux (iter 8) $ sound "sd8:4*4",
jux (iter 4) $ sound "bd*2",
jux (iter 3) $ sound "sd8:3*4"]
d2 $ weave 32 (speed (scale 0.9 1.6 sine1)) [jux (iter 8) $ sound "sd8:4*4",
jux (iter 4) $ sound "bd*2",
jux (iter 3) $ sound "sd8:3*4"]
-- scrape it
d1 $ sometimes rev $ slowspread (stut 4 1) [0.03,0.1, 0.2, 0.01] $ jux (|+| speed "4") $ every 2 (density 2) $
sound "bd8*2"
|+| shape "0.5"
-- rissetesque rise, try replacing (rev) with (iter 4)
d1 $ jux (rev) $ weave 16 (sound (samples "arpy*8" (run 8)))
[vowel "a e o",
vowel "a e o i",
vowel "o i a o i",
speed "2 3 1",
speed "-0.75 -0.5"]
-- shackup cut up
d1 $ jux (iter 4) $ weave 16 (chop 32 $ sound "shackup") [vowel "a e o" |+| speed "2",
speed "2 3 1 0.5",
crush "[8 4 5 8]*2"]
-- additive rhythm
d1 $ sound (samples "[sd8, jvbass]*8" (slow 8 $ scan 8))
-- additive rhythm + woven parameters
d1 $ weave' 4 (sound (samples "[sd8, ht8]*8" (slow 8 $ scan 8)))
[(|+| speed "1 2 3"),
chop 8 . (pan "0 0.25 0.5 0.75" |+|)]
-- move densities between sounds
d1 $ jux (iter 4) $ spread' density (iter 4 "1 8 2 4") $ sound "bd sd8:2 bd sd8"
-- every four times, twice as fast, every other of those, reversed
d1 $ every 4 (every 8 (rev) . density 2) $ brak $ sound "drum drum:1"
|+| shape "0.8"
|+| speed "2"
-- Do something random twice, and it stops sounding random
let e'' c a b = e a b c in
d1 $ jux (1 <~) $ sound $ unwrap ((e'' (samples "bd sd8" (irand 16))) <$> "[3 6 2 8 4 3]/6" <*> "[8 4 16 12]/4")
-- is it on or off?
d1 $ smash 4 [1,2,3,4] $ sound "onoff onoff:3"
-- broken dub
d1 $ every 2 (slowspread (chop) [2,4,8,16])
$ slowspread ($) [density 2, rev, iter 4, density 1.5]
$ sound (samples "feel less" (slow 16 $ scan 16))
-- random gabber offsets
d1 $ jux (spread' (<~) (toRational <$> rand)) $ sound (samples "gab*2" (slow 8 $ run 8))
-- round we go
d1 $ slowspread (stut 3 1) ([0.001, 0.005 .. 0.01]) $ jux (iter 8) $ sound "bd sn:2 sn drum:1"
-- comb rave
d1 $ (every 3 (density 1.5) $ sound (pick <$> "bd [sn rave2]" <*> ((floor . (*12)) <$> rand)))
|+| speed (slow 4 $ (+1) <$> sine1)
|+| delay "1"
|+| delayfeedback "0.7"
|+| delaytime "[0.02 0.01 0.03 0.02]/4"
-- nobakazu takemura
d1 $ stack [slow 2 $ jux (whenmod 6 4 (density 2)) $ brak $ sound (samples "newnotes newnotes" (slow 8 $ run 9))
|+| speed "[1,2 4 3]/4",
slow 2 $ (1/32) <~ (rev $ brak $ sound (samples "newnotes newnotes newnotes" (slow 8 $ run 12))
|+| speed "[1,2 4 8]/4")]
-- kitchen techno
d1 $ every 2 (density 2) $ stack [sound "{jungbass*3 jungbass:1*4, jungbass:5 [east*3 east:3*2] east:2*4}"
|+| speed "[2 1 3]/2"
|+| shape "0.5",
every 3 (density 2) $ every 2 (jux rev) $ sound (samples "east*8" "{1 2 3, 4 5 6 7, 8 9 10 11 12}")
|+| speed "[2 1]/2"
|+| end "0.2"]
-- What he said
d1 $ weave 16 (shape $ ((* 0.6) <$> sinewave1))
[slow 2 $ striate 32 (sound $ samples "diphone2/1 diphone2 diphone2/5" (irand 16))
|+| speed ((+ 0.8) . (* 0.05) <$> sinewave1),
(1%8) <~ (slow 8 $ striate 16 (sound "diphone2/0 diphone2/3*2 diphone2/4")
|+| speed ((+ 0.9) . (* 0.05) <$> sinewave1))]
-- bossanova
d1 $ slow 2 $ sound $ pick <$> "[casio]*8" <*> "1 0 2 0 1 0 2 2"
-- difficult gabber
d1 $ stut 8 0.7 (-(1/8))$ superimpose (iter 4) $ sound "[gabbalouder*2 gabba*3 less*2]/3 hc"
|+| speed "[4 3 24 4]/5"
-- drum solo
d1 $ stack [slowspread density [1,64,1,4,1,3,1,12] $ striate 8 $ sound "[bd sn/2 [~ bd] sn/2]/4"
|+| speed "0.9"
|+| pan "1",
slowspread density [1,128,1,4,1,3,1,12] $ striate 4 $ sound "[bd sn/2 [~ bd] sn/2]/4"
|+| speed "0.9"
|+| pan "0"]
-- kicks are all around
d1 $ every 3 (iter 4) $ jux (slow 2 . rev) $ slow 2 $ brak $ sound "bd*16 drum*8 bd*12 drum*12"
-- breaks
d1 $ every 2 (slow 2) $ (juxcut (rev . iter 8) $ every 4 (0.25 <~) $ striate 4 $ sound "[breaks165, breaks125]")
|+| speed "[2 1 1]/2"
-- unbelievable
d1 $ weave 32 (crush (scale 2 4 sine1)) $
[jux rev $ slowspread ($) [id, iter 8] $ sound "bd ~ sn:2*3?",
every 2 (|+| vowel "a") $ jux rev $ iter 4 $ chop 128 $ sound "breaks165"
|+| gain "1",
spin 2 $ slow 4 $ chop 16 $ superimpose (slowspread (<~) [0.25, 0.75]) $
sound "bass3 bass3:3"
|+| shape "0.6"
|+| speed "[2, -2.03]",
palindrome . chop 8 $ jux (2 <~) $
sound (pick <$> "h*4" <*> (slow 8 $ floor <$> scale 0 16 sine1))
|+| speed "0.7"]
-- cut pulse
d1 $ every 4 (const (sound "feel:2")) $ superimpose (iter 4) $ stut 4 0.9 (1/4) $ every 4 rev $ striate 4 $ sound "[[bd*4, can] [bass3:2, can:2]]/2"
|+| speed "4"
-- up and down
d1 $ every 3 (slow 1.5) $ every 2 (density 1.5) $ (density 2 $ striate 32 $ sound "wobble wobble wobble wobble")
|+| speed "2 8 ~ 5"
-- jolly old rave
d1 $ superimpose (iter 4) $ sound "feel [rave2 rave2:4]/2 feel:2 ~"
|+| speed "[1 2 3 2]/4"
-- very quiet nibbling
d1 $ superimpose (iter 8) $ sound "chin*4 chin*3 ~ chin*4"
-- roll over
d1 $ every 2 (smash 4 [1,2,3,4]) $ sound "bd8:4 ~ sd8 bd8:2*2 bd8:4 ~ [~ bd] sn"
-- err
d1 $ every 2 (slow 2) $ stut 5 0.9 (1/16) $ every 4 (0.25 <~) $ jux (iter 4) $ slow 2 $ sound "{bd bd bd ~ , cp [~ sn:2] [kurt:4 kurt:8]}"
|+| gain "0.9"
|+| end "0.2"
-- soft cell gabber remix
d1 $ slowspread ($) [iter 8, rev, density 2, slow 2] $ jux (rev) $ every 3 (|+| speed "2") $ every 2 (striate 4) $ sound "if if:2 if:3 ~"
|+| speed "8"
-- slightly electroacoustic dnb intro
d1 $ slowspread ($) [rev, (|+| speed "[0.5]"), density 2, (|+| speed "[1,2]")] $ every 3 (|+| vowel "a e") $ every 4 (|+| speed "0.25") $ jux (rev) $ slow 4 $ striate 16 $ sound "pad:3"
|+| speed "0.5"
|+| gain "0.8"
-- tap
d1 $ stut 4 0.9 (-3) $ slowspread ($) [id, density 2, iter 8, density 3] $ jux (|+| speed "1.3") $ slow 2 $ sound "bd8*2 sd8"
|+| shape "0.2"
|+| speed "[1.2 3]/2"
-- walking
d1 $ stack [slow 2 $ every 4 (density 2) $ jux (iter 8) $ sound (pick <$> "bass3*2 bass3" <*> (slow 3 $ "1 2 3 4 5"))
|+| speed "2"
|+| vowel (every 3 rev "a e"),
brak $ every 3 (slow 2) $ jux (iter 4) $ sound (pick <$> "jvbass*2 jvbass*3" <*> (slow 3 $ "1 2 3 4 5"))
|+| speed "2"
|+| shape "0.7"
|+| vowel (every 3 rev "a e")]
-- itch no more
d1 $ every 4 (rev . chop 8) $ superimpose (iter 4) $
every 2 (slow 2) $ stack [sound (samples "lt8(3,8)" (slow 10 $ scan 12)) |+| speed "1" |+| pan "0",
sound (samples "bd8(5,8)" (slow 12 $ scan 12)) |+| speed "0.9" |+| pan "1"]
|+| delay "0.9"
|+| delaytime "0.02 0.01"
-- here we are and there we are
d1 $ every 2 rev $ striate 16 $ sound "[tabla tabla:2]"
|+| speed (slow 4 $ (+0.4) <$> sine1)
-- clapclap
d1 $ every 2 (density 2) $ every 3 (rev) $ superimpose (iter 8) $ sound "bd ~ sn:2 cp"
|+| speed "[1 2]/2"
-- rasp
d1 $ spin 2 $ slow 2 $ every 2 (slow 0.75) $ sound "bd*8 bd:3*2 bd*32 ~"
|+| gain "0.9"
-- righteous happysadcore
d1 $ stack [(slowspread (chop) [4, 8, 3] $ sound "~ off")
|+| speed (slow 4 $ scale 0.5 2 $ sine1),
slow 2 $ every 2 (0.25 <~) $ stut 3 0.9 (0.75) $ every 2 (within (0,0.25) (density 2)) $ chop 32 $ sound "breaks125"]
-- smashed melody
d1 $ (slow 4 $ jux rev $ every 2 (slow 2) $ (striate 32 $ sound (samples "[newnotes*8 newnotes*12 newnotes*8 newnotes]" (slow 5 $ run 16))))
|+| speed ((+0.5) <$> (slow 8 $ sinewave1))
|+| vowel "[a o o e i o u]"
|+| shape "0.4"
-- poignant duet
d1 $
stack [
every 2 (density 2) $ jux4 (iter 8) $ slowspread ($) [slow 2, iter 8, id, (|+| speed "0.9")] $ sound (pick <$> "kurt*8" <*> (slow 3 $ run 12))
|+| speed "2",
smash 4 [1,2,3,4] $ brak $ spin 2 $ slow 2 $ chop 3 $ sound "rave:6"]
-- all you need
d1 $ stack [jux (((every 3 rev) . every 2 ((1/16) <~)) . (|+| speed "[2,3]")) $ slow 2 $ sound (samples "jvbass*2 jvbass*4 jvbass*2" "[3 5 2,8 2 1]/4")
|+| shape "0.3"
|+| end "0.25",
jux (rev) $ striate 4 $ sound (samples "[newnotes*2] newnotes" "3 2 1")
|+| speed (every 2 ((*0.5) <$>) "[1 0.75 1 0.5, 3 2 1]/3")]
-- buy my plugin
d1 $ density 2 $ slowcat [superimpose (smash 4 [4,2,1,4]) $ jux rev $ sound (samples "{gretsch*4, gretsch*3 bd*2 sn/2}" (stack [(slow 3 $ run 8), "1 5 2"]))
|+| speed "2",
interlace (jux (0.25 <~) $ (striate 4) $ sound "bd/4*4 bleep/7")
(sound (samples "mouth*8" (every 3 rev $ run 8)))]
-- raise your hands
d1 $ stack [(every 4 (0.5 <~) $ every 3 (0.25 <~) $ striate 64 $ sound "breaks125")
|+| speed "[1 2 3]/5",
(spin 2 $ every 3 (0.5 <~) $ every 3 (0.25 <~) $ striate 64 $ sound "breaks125")
|+| speed "[1 2 3 4]/5"]
-- spot the tactus
d1 $ slow 2 $ (superimpose (iter 8) $ every 4 (slow 3) $ every 3 (density 5) $ sound "[feel ~ lt8:5, sd8:3 ht8:3]" |+| speed ((+1) . (*0.2) <$> slow 4 sine1))
-- bass interlace
d1 $ interlace (sound "bass3:2 ~ jvbass:3 jvbass:4")
(rev $ sound "bass3:2 jvbass:3 jvbass:4")
-- recital
d1 $ (spread' (striate' 4) ((+0.2) <$> slow 8 sine1)) $ jux rev $ sound (samples "[latibro*6,bd]/2" "0 7 4") |+| speed "[1 2 1.5]/4"
-- heavy hardcore
d1 $ stack [superimpose (iter 4) $ every 4 rev $ sound "[[feel feel:0] feel*3, haw:4*3 haw]",
sound "~ sid:2 peri:1 ~"
|+| gain "1.5"
|+| speed "1 2 3",
slow 2 $ stut 4 0.98 (-0.25) $ slow 2 $ sound "[feel*2 feel:2 [~ feel*2] feel:2, ~ feel mod:2]"
|+| speed "4"
|+| gain "1.4",
slow 16 $ striate 128 $ sound "bev*2"
|+| gain "1.4"
|+| speed "1.5"]
-- cave rave
d1 $ spin (4) $ (every 3 (density 1.5) $ slow 2 $ sound (pick <$> "[rave2 ~ rave2] [rave2*8]" <*> "[3 4 2 3]/3"))
|+| speed (slow 4 $ (+1.5) <$> sine1)
-- don't sneeze
d1 $ slowspread ($) [echo 0.5, rev, density 2, density 1.5] $ jux (iter 4) $ every 2 (iter 3) $ sound "bd:3 [sn:1 ~ sn:1]"
|+| speed (every 3 rev "2 1")
|+| end "0.2"
-- put some effort in
d1 $ stack [slow 2 $ every 2 (0.25 <~) $ superimpose (rev) $ every 4 (striate 4) $ sound (pick <$> "bd*2 bd*4" <*> (slow 4 $ ((floor . (*16)) <$> sine1))),
smash 2 [1,2] $ jux (brak) $ whenmod 4 2 (density 2) $ slow 2 $ sound (pick <$> "amencutup*8" <*> (slow 4 $ run 32))
|+| speed ((+1) <$>sine1)]
-- euphoric squee
d1 $ interlace (smash 8 [1,2,1,4] $ every 2 (density 2) $ jux (brak) $ whenmod 4 2 (density 2) $ slow 2 $ sound (pick <$> "future*8" <*> (slow 4 $ run 32))
|+| speed ((+1) <$>sine1))
(sound "~ bleep:9"
|+| speed (slow 8 sine1))
-- woodpeckstep
d1 $ slow 2 $ every 3 (slow 2) $ every 4 (density 2) $ superimpose (iter 4) $ jux (every 2 rev) $ sound "bd ~ sn*16 ~ bd*8 ~ sn*6 ~"
|+| speed "2"
|+| vowel "a"
-- knock em back
d1 $ stack [every 2 (slow 2) $ superimpose (iter 4) $ slow 2 $ every 8 ((1/4) <~) $ sound "future*3 bd*2 wobble [cp bd bd]"
|+| shape "0.9"
|+| gain "2"
|+| speed "[2,3,4]"
|+| cutoff ((+0.01) <$> (slow 16 $ scale 0 0.01 sine1))
|+| resonance ((+0.2) <$> (slow 12 $ scale 0 0.5 sine1)),
slowspread ($) [rev, iter 8, (|+| speed "0.75"), density 2] $ jux (0.25 <~) $ sound (pick <$> "amencutup*4 amencutup*2" <*> (slow 8 $ run 128))
|+| shape "0.7"
|+| gain "2"]
-- if a cat made techno
d1 $ slowspread ($) [rev, iter 4, (0.5 <~)] $ slowspread (stut 8 0.95) [0.25,0.5,1,0.75] $ slow 2 $ superimpose rev $ sound "[bd bleep:5 bd*2 bd bd cp drum:1 ~, gabbalouder ~ rave2:4 ~]"
|+| gain "0.5"
|+| speed "[1,[2 3 0.75]/3]"
-- |+| delay "1"
-- snel hest
d1 $ stack [every 3 (stut 3 0.9 (1/3)) $ sound "{lighter lighter:3 ~ lighter:4, lighter:9 bd drum:2}",
slow 2 $ slowspread ($) [id, density 2, iter 4, rev] $ sound "~ [jungbass:4 ! jungbass:4*2 jungbass:5]/2"
|+| speed "2",
every 4 (within (0, 0.25) (density 2)) $ (slow 2 $ sound (pick <$> "{lighter ~ can ~ bd rave2 bd sn, bd*3 cp:2 bd}" <*> (slow 5 $ run 12)))
|+| speed "16"]
-- wakkawakka
d1 $ stack [slowspread ($) [(|+| speed "2"), rev, iter 4, rev] $ stut 3 (0.25) (-0.25) $ sound (pick <$> "industrial*8" <*> (every 6 (const (irand 32)) "[0 [1 4]/3 2 [3 6 4]/3]*2"))
|+| end (every 8 (const 0.04 <$>) $ "0.03")
|+| cutoff (every 4 ((*4) <$>) "0.04 0.05")
|+| resonance "[0.6 0.4 0.1]/3",
jux rev $ density 4 $ striate' 2 0.2 $ sound (pick <$> "[bass3:2 bass3:7]/2" <*> (slow 8 $ run 8))
|+| speed (every 4 ((*2) <$> ) "[[1,2] 1 1 [4.1 2]/2]/4")
|+| accelerate "1"
|+| gain "0.8"]
-- bad noise, don't run
d1 $ every 2 (density 2) $
stack [slow 2 $ sound "{jungbass*3 jungbass/1*4, jungbass/5 [east*3 east/3*2] east/2*4}"
|+| speed "[2 1 0.5]/2"
|+| shape "0.5",
every 3 (density 2) $ every 2 (jux rev) $ sound (samples "east*8" "{1 2 3, 4 5 6 7, 8 9 10 11 12}")
|+| speed "[0.5 1]/2"
|+| end "0.2"]
-- drab bleep
d1 $ weave 16 (shape (scale 0 0.7 sine1))
[jux (iter 4) $ slow 4 $ sound "sb {sb ~ sb casio, sb:1 casio:1 sb:1}" |+| speed "[0.5, 0.051]",
sound (unwrap $ (\a b -> e a b "bd") <$> "[3 5 6]/2" <*> "[8,16]")]
-- move gabba
d1 $ weave 16 (pan sine1) [sound "gabba(3,8)",
sound "gabba(5,8)",
sound "arpy*4" |+| gain "1.2",
jux (iter 4. chop 8 . rev) $ sound (samples "arpy*2 kurt" "[1 2]/2")
|+| gain "1.4"
|+| speed "[0.5 1]/2"
|+| accelerate "[-1 2]/2"]
For more examples see:
http://twitter.com/tidalbot/