Skip to content

Instantly share code, notes, and snippets.

@jarmitage
Created April 23, 2019 14:39
Show Gist options
  • Select an option

  • Save jarmitage/930442ae4d341d6fa4ffa48914317f55 to your computer and use it in GitHub Desktop.

Select an option

Save jarmitage/930442ae4d341d6fa4ffa48914317f55 to your computer and use it in GitHub Desktop.
An idea for arranging a track in tidal
mutePatterns g = mapM (streamMute tidal) g
muteIntPatterns g = mutePatterns (map show g)
mutePatterns' s g = mutePatterns (fromJust $ lookup g s)
unmutePatterns g = mapM (streamUnmute tidal) g
unmuteIntPatterns g = unmutePatterns (map show g)
unmutePatterns' s g = unmutePatterns (fromJust $ lookup g s)
soloPatterns g = mapM (streamSolo tidal) g
soloPatterns' s g = soloPatterns (fromJust $ lookup g s)
unsoloPatterns g = mapM (streamUnsolo tidal) g
unsoloPatterns' s g = unsoloPatterns (fromJust $ lookup g s)
muteTrackPatterns t g = mapM (streamMute tidal) (map ((t ++ "-") ++) g)
muteTrackIntPatterns t g = muteTrackPatterns t (map show g)
muteTrackPatterns' t s g = muteTrackPatterns (fromJust $ lookup (map ((t ++ "-") ++) g) s)
unmuteTrackPatterns t g = mapM (streamUnmute tidal) (map ((t ++ "-") ++) g)
unmuteTrackIntPatterns t g = unmuteTrackPatterns t (map show g)
unmuteTrackPatterns' t s g = unmuteTrackPatterns (fromJust $ lookup (map ((t ++ "-") ++) g) s)
soloTrackPatterns t g = mapM (streamSolo tidal) (map ((t ++ "-") ++) g)
soloTrackPatterns' t s g = soloTrackPatterns (fromJust $ lookup (map ((t ++ "-") ++) g) s)
unsoloTrackPatterns t g = mapM (streamUnsolo tidal) (map ((t ++ "-") ++) g)
unsoloTrackPatterns' t s g = unsoloTrackPatterns (fromJust $ lookup (map ((t ++ "-") ++) g) s)
mp = mutePatterns
md = muteIntPatterns
mp' = mutePatterns'
ump = unmutePatterns
umd = unmuteIntPatterns
ump' = unmutePatterns'
-- sp = soloPatterns
-- sp' = soloPatterns'
usp = unsoloPatterns
usp' = unsoloPatterns'
mtp = muteTrackPatterns
mtd = muteTrackIntPatterns
mtp' = muteTrackPatterns'
umtp = unmuteTrackPatterns
umtd = unmuteTrackIntPatterns
umtp' = unmuteTrackPatterns'
stp = soloTrackPatterns
stp' = soloTrackPatterns'
ustp = unsoloTrackPatterns
ustp' = unsoloTrackPatterns'
-- naming patterns based on tracks
trackPatternName track patternName = p (track ++ "-" ++ patternName)
trackIntPattern track patternName = p (track ++ "-" ++ (show patternName))
tp = trackPatternName
td = trackIntPattern
-- named patterns or numbered patterns
track t mx dn ps p f = td t dn $ f $ (fromJust $ lookup p ps) # g (mx!!(dn-1)) # o (fromList [dn] -1)
track' t mx ps dn f = td t dn $ f $ (fromJust $ lookup dn ps) # g (mx!!(dn-1)) # o (fromList [dn] -1)
track'' t mx ps dn f = td t dn $ f $ (ps!!(dn-1)) # g (mx!!(dn-1)) # o (fromList [dn] -1)
tr = track
tr' = track'
tr'' = track''
-- apply function from map
f fs n = fromJust $ lookup n fs
do
let t = "suf2"
let ps = [("vx", note ("[[2 ~ ~ [~ -2]] [0 [2? [2? 5?]]]]") # s "vxsuf" # cut 1),
("syn", swingBy (1/9) 32 $
note ("[-4 0 3]*2 [-5 -2 3]*2 [-7 -4 0]*2 [[-7 -4 0] [-7 1 -4]]" + 36)
# n "[1, 9]" # s "retld" # adsr "0:2:2:2" # legato 1 # hpf' 1e3 0.1),
("bs", struct "t(3,8)!4" $ note ("-4 <-9> <-7> [-7 -11]" + "<12 12 12 24>")
# s "bssub" # shape 0.3 # legato 3),
("pc1", s "bdk2:21(3,8) bdk2:21(3,8)"),
("pc2", ev 4 ((# sp "-1"). jux rev) . fa "1 2" . loopAt 2 .
struct "t(3,8)" $ s "jbreaks:100" # shape 0.3 # rvb "0.2:0.2"),
("fx", sl 8 . (# hpf "2e3:0.1").(# rvb "0.9:0.8").(# del "0.2:0.3:0.6").
(# pan rand) $ n (r 4) # s "fxrise")]
let fs = [ ("id", id),
("pc1a", ev 8 (fa 2) . ev 4 (# hpf' "1e3 4e3 7e3" "0.1")),
("vxa", fa 8),
("vxb", rarely (chop "<4 8>" . (# ac "<-0.1 0.1>"))),
("vxc", whenmod 8 4 (struct "t(<11 13 9>,16)".(# io "0 0.5 0.75:0.5 1").
(# pan (fast 4 $ rand)))),
("vxd", (# hpf' 1e3 0.1).(# del "0.3:0.5:0.5").(# rvb "0.2:0.2"))]
bpm 130
mtd t [1, 2, 3, 4, 5, 6 ]
let mx = [1.1, 0.9, 0.9, 0.9, 0.9, 0.9]
umtd t [1,2]
tr t mx 1 ps "vx" $ sl 4
. f fs "vxa"
. f fs "vxb"
. f fs "vxc"
. f fs "vxd"
tr t mx 2 ps "syn" $ sl 4 . (# rvb "0.5:0.5")
tr t mx 3 ps "pc1" $ sl 2
-- . f fs "pc1a"
tr t mx 4 ps "pc2" $ id
tr t mx 5 ps "bs" $ sl 4
tr t mx 6 ps "fx" $ id
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment