haddeo.tidal 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. let bpm b = cps (b/60)
  2. let withmod a b c d = (whenmod a b . within (c, d))
  3. let every' n o f = when ((== (o-1)) . (`mod` n)) f
  4. let modtempo s e = (# nudge (scale 0 s $ fmap (**e) saw1))
  5. let mt s d i = slow s . modtempo 0.3 3 $ density d $ i
  6. -- original bpm = 105
  7. bpm 105
  8. -- drum
  9. d1 $ slow 8 $ n "[1*2, 0*8]" # s "drum"
  10. d1 $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum"
  11. d1 $ mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum"
  12. d2 $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit"
  13. d2 $
  14. withmod 11 5 0.5 1 (density 2) $
  15. n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit"
  16. d2 $
  17. whenmod 3 2 (density 2) $
  18. withmod 11 5 0.5 1 (density 2) $
  19. n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit"
  20. d2 $
  21. every' 16 8 (const $ s "kit:3") $
  22. whenmod 3 2 (density 2) $
  23. withmod 11 5 0.5 1 (density 2) $
  24. n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit"
  25. -- icarus
  26. d3 $ slow 16 . striate 256 $ s "icarus"
  27. d3 $ superimpose (8 ~>) $
  28. slow 16 . striate 256 $ s "icarus"
  29. d3 $
  30. every' 2 2 (within (0, 0.75) (iter 16)) $
  31. slow 16 . striate 256 $ s "icarus"
  32. d3 $
  33. superimpose (8 ~>) $
  34. every' 2 2 (within (0, 0.75) (iter 16)) $
  35. slow 16 . striate 256 $ s "icarus"
  36. {-
  37. d3 $
  38. slow 8 $ smash 64 [0.5,0.75] $
  39. s "icarus"
  40. -}
  41. -- nimble
  42. d4 $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  43. d4 $ superimpose (iter 4) $
  44. slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble"
  45. d4 $
  46. superimpose (
  47. iter 4 .
  48. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1))
  49. ) $
  50. slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble"
  51. d4 $
  52. superimpose (
  53. iter 4 .
  54. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  55. (# nudge "0")
  56. ) $
  57. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  58. d3 silence
  59. d4 $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  60. d4 $ whenmod 5 3 rev $
  61. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  62. d4 $
  63. every' 2 2 (within (0, 0.5) (const silence)) $
  64. superimpose (
  65. iter 4 .
  66. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  67. (# nudge "0")
  68. ) $
  69. whenmod 5 3 rev $
  70. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  71. d4 $
  72. every' 2 2 (within (0.25, 0.5) (const silence)) $
  73. superimpose (
  74. iter 4 .
  75. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  76. (# nudge "0")
  77. ) $
  78. whenmod 5 3 rev $
  79. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  80. -- something of a structure starting to come together here
  81. d1 $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum"
  82. d1 $
  83. (whenmod 5 3 . every' 7 5) (0.5 ~>) $
  84. slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum"
  85. d1 $
  86. (whenmod 5 3 . every' 7 5) (0.5 ~>) $
  87. mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum"
  88. d3 $
  89. every' 2 2 (within (0, 0.75) (iter 16)) $
  90. slow 16 . striate 256 $ s "icarus"
  91. d4 $
  92. every' 2 2 (within (0.25, 0.5) (const silence)) $
  93. whenmod 5 3 rev $
  94. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  95. -- hahaha, holy fuck
  96. d4 $ whenmod 4 2 (const silence) $
  97. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  98. d4 $ whenmod 4 2 (const silence) $
  99. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  100. # vowel "e a"
  101. d4 $ whenmod 4 2 (const silence) $
  102. density 2 $ (# cut "4") $
  103. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  104. # vowel "e a"
  105. d4 $
  106. superimpose ((4 ~>) . iter 4) $
  107. whenmod 4 2 (const silence) $
  108. density 2 $ (# cut "4") $
  109. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  110. # vowel "e a"
  111. d4 $
  112. superimpose (density 2 . (4 ~>) . iter 4) $
  113. whenmod 4 2 (const silence) $
  114. density 2 $ (# cut "4") $
  115. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  116. # vowel "e a"
  117. d5 $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  118. d1 $ stack [
  119. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  120. n "[~ 0]/2" # s "sn"
  121. ]
  122. d1 $ stack [
  123. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  124. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  125. ]
  126. -- heh
  127. --bpm 80
  128. d4 $
  129. (2 ~>) $
  130. superimpose (density 2 . (4 ~>) . iter 4) $
  131. whenmod 4 2 (const silence) $
  132. density 2 $ (# cut "4") $
  133. slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  134. # vowel "e a"
  135. d5 $
  136. superimpose (
  137. iter 4 .
  138. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  139. (# nudge "0")
  140. ) $
  141. whenmod 5 3 rev $
  142. slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble"
  143. d4 $
  144. (2 ~>) $
  145. superimpose (density 2 . (4 ~>) . iter 4) $
  146. whenmod 4 2 (const silence) $
  147. density 2 $ (# cut "4") $
  148. mt 16 1 $ striate 16 $ n "[0 1]/2" # s "nimble"
  149. # vowel "e a"
  150. d5 $
  151. superimpose (
  152. iter 4 .
  153. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  154. (# nudge "0")
  155. ) $
  156. whenmod 5 3 rev $
  157. mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble"
  158. d1 $ mt 16 16 $ stack [
  159. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  160. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  161. ]
  162. -- some other ideas
  163. d1 $ stack [
  164. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  165. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  166. ]
  167. d1 $ stack [
  168. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  169. whenmod 5 3 (
  170. superimpose (
  171. within (0, 0.5) (
  172. (# gain "0.7") .
  173. (# n (irand 3)) .
  174. (# s "tom")
  175. ) .
  176. (# gain "0.8") .
  177. (0.25 ~>) . density 2
  178. )
  179. ) $
  180. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  181. ]
  182. d1 $ stack [
  183. n "[1, 0*2 [~ 0] ! ~]/4" # s "drum",
  184. whenmod 7 6 (slowspread ($) [density 4 . rev . slow 4, id, (0.25 ~>)]) $
  185. whenmod 5 3 (
  186. superimpose (
  187. within (0, 0.5) (
  188. (# gain "0.7") .
  189. (# n (irand 3)) .
  190. (# s "tom")
  191. ) .
  192. (# gain "0.8") .
  193. (0.25 ~>) . density 2
  194. )
  195. ) $
  196. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  197. ]
  198. d4 $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble"
  199. d6 $
  200. every' 3 2 rev $
  201. (2 <~) $
  202. slow 16 $ striate 32 $ n "[0 1]/2" # s "nimble"
  203. # speed "0.55"
  204. -- nailed it
  205. d7 $
  206. whenmod 16 8 (0.5 ~>) $
  207. slow 8 $
  208. slowspread ($) [gap 16, striate 8] $
  209. n "[0 1]/2" # s "nimble"
  210. # speed "[-3 -2]"
  211. # gain "0.9"
  212. {-
  213. d7 $
  214. within (0, 0.75) (density (5%3) . sometimes (0.5 <~)) $
  215. whenmod 16 8 (0.5 ~>) $
  216. slow 8 $
  217. slowspread ($) [gap 16, striate 8] $
  218. n "[0 1]/2" # s "nimble"
  219. # speed "[-3 -2]"
  220. -}
  221. d1 $ stack [
  222. n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum",
  223. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  224. ]
  225. d1 $ stack [
  226. n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum",
  227. whenmod 7 6 (slowspread ($) [density 4 . rev . slow 4, id, (0.25 ~>)]) $
  228. whenmod 5 3 (
  229. superimpose (
  230. within (0, 0.5) (
  231. (# gain "0.7") .
  232. (# n (irand 3)) .
  233. (# s "tom")
  234. ) .
  235. (# gain "0.8") .
  236. (0.25 ~>) . density 2
  237. )
  238. ) $
  239. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  240. ]
  241. d1 $ slow 16 . modtempo 0.6 4 $ density 16 $ stack [
  242. n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum",
  243. whenmod 7 6 (slowspread ($) [density 4 . rev . slow 4, id, (0.25 ~>)]) $
  244. whenmod 5 3 (
  245. superimpose (
  246. within (0, 0.5) (
  247. (# gain "0.7") .
  248. (# n (irand 3)) .
  249. (# s "tom")
  250. ) .
  251. (# gain "0.8") .
  252. (0.25 ~>) . density 2
  253. )
  254. ) $
  255. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  256. ]
  257. -- could be a good outro
  258. d1 $ slow 16 . modtempo 0.6 4 $ density 16 $
  259. stack [
  260. n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum",
  261. 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn"
  262. ]
  263. hush