Skip to content

Instantly share code, notes, and snippets.

@lvm
Created February 2, 2017 21:42
Show Gist options
  • Save lvm/461b709399821d93c2a2a5926acb12c3 to your computer and use it in GitHub Desktop.
Save lvm/461b709399821d93c2a2a5926acb12c3 to your computer and use it in GitHub Desktop.
cps 0.45
import qualified Sound.Tidal.Scales as Scales
do
let runnow d p = do now <- getNow
d $ (nextSam now) ~> p
oneshot d p = runnow d $ seqP [(0, 1, p)]
sctf = (# cutoff (scale 150 150 (slow 8 sine1)))
hctf = (# hcutoff "100")
octave = mf "octave"
index = mf "index"
mute = const $ silence
left t = (t <~)
right t = (t ~>)
runnow d4 $
sometimesBy 0.25 (# cutoff (scale 1000 3000 $ slow 8 sine1)) $
stut 2 0.75 0.75 $
n "[0(4,16,2)]"
# n (
iter 16 $
every 4 palindrome $
toScale Scales.hexAeolian "[c d f d] [c d c d] [c d c d] [c d f d]"
)
# s "[bassy,saw]"
# sus "2"
# rq (scale 0.5 2 (slow 8 $ sine1))
# lpcutoff "1500"
# ctf "200"
# octave (fmap(+2) "[2 0 1 0]!!!")
# gain "0.85"
# ctf (scale 100 1500 saw1)
# cutoff (scale 150 1500 (slow 4 $ saw1))
# room "0.25"
# orbit "1"
runnow d3 $
superimpose (
e 1 8 .
(# s "fm") .
(# attack "1") .
(# sustain "4") .
(|-| n "12") .
(# gain "1.2") .
slowspread left [0.25, 0.25, 0.75, 0.5]
) $
sometimes (
superimpose (
(slowspread right [0.75, 0.5, 0.25, 0.25]) .
sometimesBy 0.25 (|-| n "-12")
)
) $
stut 2 0.75 0.75 $
n (sometimesBy 0.25 (fmap(+12)) $
sometimes (fmap(subtract 12)) $
toScale Scales.hexAeolian
"{[c e]/2 d [d d4] [e f4] g4}%4"
)
# sustain "2"
# release "4"
# s "fm"
# cutoff (slow 16 $ scale 500 15000 sine1)
runnow d2 $
off 0.25 id $
stut 2 0.75 0.75 $
slow 2 $
slowspread left [0.25, 0.75, 0, 0.25, 0, 0, 0, 0] $
slowcat[
n (toScale Scales.hexAeolian
"{[c e]/2 d [d d4] [e f4] g4}%4"),
n (toScale Scales.hexAeolian
"{[c e]/2 d [d d4] [e f4] g4}%4"),
n (toScale Scales.hexAeolian
"{[c e]/2 d [d d4] [e f4] g4}%4"),
(# sus "8") $
n (toScale Scales.hexAeolian
"{[c e]/2 d [f f4] [e a] 7}%4")
]
# s "[saw]"
# sustain "4"
# release "4"
# detune (sometimes (fmap(+1)) "1.25")
# pan (scale 0.25 0.75 (slow 4 $ sine1))
# cutoff (scale 150 1500 (slow 4 $ saw1))
# gain "0.8"
# room "0.5"
# orbit "2"
runnow d1 $
stack[
slow 2 $
sometimes (|*| speed "-1") $
sound "vocad(3,8)"
# room "0.5"
# orbit "3"
# speed (iter 4 "0.5 0.5 0.75 0.5")
# cutoff (scale 120 15000 (slow 8 sine1))
,
hctf $
foldEvery [10..19] (# cutoff (scale 150 1500 (slow 8 $ sine1))) $
every 3 (superimpose (
(const $ sound "[kick(2,16,2)]") .
(# gain "1.2")
)
) $
every 4 (superimpose (
(const $ sound "[kick(1,16,15)]") .
(# gain "1.5")
)
) $
sound "[kick(4,16)]"
# n "[d c d d]/4"
# gain "1.1"
,
every 4 (within (0.5,1)(stut 2 1 0.75)) $
sound "snare(2,16,8)"
,
every 5 (stut 2 0.75 0.125) $
every 8 ((# room "0.25") . (# orbit "3") . hctf) $
sound "cp(1,16,14)"
,
every 7 (within (0,0.25)(chop 2)) $
sound "hihat(8,16)"
# release (scale 0.05 0.15 (slow 16 sine1))
,
sound "hihat(4,16,2)"
# release (scale 0.5 1 (slow 32 sine1))
]
# cutoff (scale 100 150 (slow 8 sine1))
# cutoff (scale 150 1500 (slow 8 sine1))
# cutoff (scale 1500 15000 (slow 8 sine1))
# cutoff (scale 4500 15000 (slow 8 sine1))
# cutoff (scale 75000 15000 (slow 8 sine1))
# cutoff (scale 10000 15000 (slow 8 sine1))
do
let runnow d p = do now <- getNow
d $ (nextSam now) ~> p
oneshot d p = runnow d $ seqP [(0, 1, p)]
hctf = (# hcutoff "100")
oneshot d1 $
hctf $
stack[
s "[kick(4,16)]"
# n "[d c d d]/4",
s "[hihat(4,16,2)]"
]
# release "1"
runnow d4 $
fadeOut 4 $
sometimes (# cutoff (scale 1000 3000 $ slow 8 sine1)) $
stut 2 0.75 0.75 $
n "[0(4,16,2)]"
# n (
iter 16 $
every 4 palindrome $
toScale Scales.hexAeolian "[c d f d] [c d c d] [c d c d] [c d f d]"
)
# s "[bassy,saw]"
# sus "2"
# rq (scale 0.5 2 (slow 8 $ sine1))
# lpcutoff "1500"
# ctf "200"
# octave (fmap(+2) "[2 0 1 0]!!!")
# gain "0.85"
# ctf (scale 100 1500 saw1)
# cutoff (scale 150 1500 (slow 4 $ saw1))
# room "0.25"
# orbit "1"
hush
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment