cuadrillion.tidal 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {-
  2. Anny: Cuadrillion (Demo)
  3. anny.audio
  4. First played for Algorave's fith birthday, #algofive 17th March 2017
  5. Written for Fwonk release nr. 200 out in March 2017. FW200 is Fwonk's
  6. final release, at least in its current form, but its catalogue will
  7. live on. There is a lot of very good electronic music in there, so be
  8. sure to check it out some time!
  9. fwonk.co.uk
  10. See README.md
  11. -}
  12. let bpm b = cps (b/60)
  13. every' n o f = when ((== (o-1)) . (`mod` n)) f
  14. d'drum = d1
  15. d'perc = d2
  16. d'bass = d3
  17. d'bleep = d4
  18. d'moog = d4
  19. d'gt = d5
  20. d'gt2 = d6
  21. d'gt3 = d7
  22. bpm 149
  23. -- @bleep
  24. d'bleep $
  25. -- every' 5 2 (iter 4) $ -- (2)
  26. -- every 3 (rev . slow 2 . chop 4) $ -- (1)
  27. n "[[~ 0] ~ 1 ~]/4" # s "bleep"
  28. # gain "1.2"
  29. d'drum $
  30. every' 16 16 (overlay $ n "~ 1!!" # s "drum") $
  31. 1 <~ n "1/16" # s "drum"
  32. -- @drumintro
  33. d'drum $
  34. every' 16 16 (overlay $ n "~ 1!!" # s "drum") $
  35. n "{1, [~! [~ 0]!]/4}" # s "drum"
  36. d'drum $
  37. every' 16 16 (overlay $ n "~ 1!!" # s "drum") $
  38. n "{1, [~! [~ 0]!]/4, [[~ 3] 3]/2}" # s "drum"
  39. d'perc $ n "[~ 1 ~ ~]/4" # s "drum2"
  40. -- @perc
  41. d'perc $
  42. stack [
  43. n "[~ 1 0 ~]/4",
  44. 0.5 ~> n "[3 2 ~]/3"
  45. -- 0.75 ~> n "[3 2 ~ 2 3]/5", -- (1)
  46. -- 0.25 ~> n "[~ 3 2 ~ 0 2 3]/7" -- (2)
  47. ]
  48. # s "drum2"
  49. -- @drum
  50. d'drum $
  51. -- every' 16 16 (density 2) $ -- (1) replacing (0)
  52. every' 16 16 (within (0.5, 1) $ density 2) $ -- (0)
  53. n "{0, 1, [~! [~ 0]!]/4, [[~ 3] 3]/2}" # s "drum"
  54. -- @bass
  55. d'bass $
  56. -- slowspread slow [1,1,1,2,3] $ -- (2)
  57. (0.5 <~) $ rev $ gap 32 $
  58. -- superimpose ((# gain "0.7") . (# speed "3")) $ -- (1)
  59. every' 32 31 (overlay $ n "2" # s "drbass") $
  60. every' 16 16 (overlay $ n "1 ~" # s "drbass") $
  61. n "[0 0 [~ 0] !]/4" # s "drbass"
  62. # gain "0.9"
  63. # vowel "{a, i}"
  64. # shape "0.4"
  65. # orbit "1" # room "0.2" # size "0.1"
  66. # resonance "0.1" # cutoff "130" -- 10 -> 130
  67. -- @gt
  68. d'gt $ -- every' 8 8 (const silence) $ -- (1) then (3) remove
  69. -- every 3 (slow 32) $ -- (1) then (2) remove
  70. every 2 rev $
  71. (0.5 ~>) $
  72. slow 8 $ smash 16 [1,2] $ striate 16 $
  73. n "0" # s "acb"
  74. # cut "7"
  75. # gain "0.8" -- 0.1 -> 0.8
  76. # speed (scale 0.7 1.4 $ slow 3 sine1)
  77. # vowel "u"
  78. -- @gt2
  79. d'gt2 $ (0.5 <~) $
  80. slow 8 $
  81. iter 4 $
  82. striate 16 $
  83. sound "acg"
  84. # cut "6"
  85. # shape "0.4"
  86. # gain "0.9"
  87. -- ~drum w/ (1)
  88. -- @gt3
  89. let hp = "240"
  90. lp = "1200"
  91. r = "0.3"
  92. in d'gt3 $
  93. (3 ~>) $
  94. -- every' 4 2 (superimpose (3 <~)) $ -- (1) and (2) remove
  95. slow 16 . gap 8 $ -- (0) and (2) remove
  96. -- slow 30 . gap 15 $ -- (2)
  97. sound "dg"
  98. # gain "0.9"
  99. # orbit "1" # room "0.2" # size "0.1"
  100. # speed (scale 1 1.25 $ slow 4.1 sine1)
  101. # cutoff lp # resonance r
  102. # hcutoff hp # resonance r
  103. mapM_ ($ silence) [d'gt, d'gt2, d'gt3]
  104. -- ~perc w/ (1)
  105. -- ~perc w/ (2)
  106. -- ~gt w/ (1)
  107. -- ~bass w/ (1)
  108. -- ~gt2
  109. -- ~gt w/ (2) then (3)
  110. -- ~gt3 w/ (2)
  111. mapM_ ($ silence) [d'gt, d'gt2, d'gt3, d'bass]
  112. hush