scratch.tidal 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. {-
  2. defs
  3. -}
  4. let bpm b = cps (b/60)
  5. withmod a b c d = (whenmod a b . within (c, d))
  6. every' n o f = when ((== (o-1)) . (`mod` n)) f
  7. msil = mapM_ ($ silence)
  8. tmod s e = (# nudge (scale 0 s $ fmap (**e) saw1))
  9. let swing a = within (0.1, 0.4) (a ~>) . within (0.6, 0.9) (a ~>)
  10. swing' = swing 0.14 --0.05
  11. let d'drum = d1
  12. d'drum2 = d2
  13. d'bass = d3
  14. d'wax = d4
  15. d'nim = d5
  16. d'hi = d6
  17. -- original bpm = 105
  18. let tmod' s e = tmod (s*(1/(105/60))) e
  19. mt s d i = slow s $ tmod' 0.5 3 $ density d $ i
  20. bpm 105
  21. {----------
  22. drum + perc
  23. ----------}
  24. hush
  25. d'drum silence
  26. d'drum $ --mt 16 16 $
  27. swing' $
  28. stack [
  29. --n "1/4"
  30. --n "[1*2, 0*8]/8"
  31. --n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]/8"
  32. n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] [0! ~!]]/8"
  33. # s "drum",
  34. every' 16 16 (const $ s "kit:3") $
  35. whenmod 3 2 (density 2) $
  36. (whenmod 11 5 . within (0.5, 1)) (density 2) $
  37. --n ""
  38. --n "[~ [0 2]/2]"
  39. n "[[~ 0] [[2!! ~]/4 0]]/2"
  40. # s "kit",
  41. --(0.5 <~) $
  42. --n ""
  43. --n "[~ [~ 1]]/2"
  44. n "[~ [~ 0/8 1 0/2]]/2"
  45. --n "[~ [~ 0/4 1 0]]/2"
  46. --n "[~ [1 0/4 1 0/2]]/2"
  47. # s "sn"
  48. # gain "0.8"
  49. ]
  50. {-----
  51. icarus
  52. -----}
  53. hush
  54. d'wax silence
  55. d'wax $
  56. --every' 2 2 (within (0, 0.75) (iter 16)) $
  57. slow 16 . striate 256 $ s "icarus"
  58. d'wax $ retrig $ s "icarus:1/20"
  59. {-----
  60. nimble
  61. -----}
  62. hush
  63. d'nim silence
  64. d'nim $
  65. superimpose (
  66. --iter 4 .
  67. iter 6 .
  68. (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) .
  69. (# nudge "0")
  70. ) $
  71. {-(whenmod 5 2 $
  72. slowspread (\x -> within (0.5, 1) x) [
  73. id, density (5%3), rev, density (4%3), id, rev, (0.5 <~)
  74. ]) $-}
  75. --whenmod 4 2 (const silence) $
  76. --mt 16 1 $
  77. slow 16 $
  78. striate 256 $ n "[0 1]/2" # s "nimble"
  79. -- # cut "4"
  80. -- # shape ((/4) <$> density 1.9 sine1)
  81. {---
  82. bass
  83. ---}
  84. hush
  85. d'bass silence
  86. d'bass $
  87. --whenmod 3 2 (within (0, 0.5) (const silence)) $
  88. --whenmod 10 8 (within (0.5, 1) (const silence)) $
  89. slow 8 $ stack [
  90. striate 16 $ sound "bass",
  91. striate 16 $ sound "sine"
  92. ]
  93. -- # gain "0.8"
  94. {---------
  95. alt nimble (wip)
  96. ---------}
  97. hush
  98. d'hi silence
  99. d'hi $
  100. swing' $
  101. whenmod 4 3 (density 2) $
  102. -- whenmod 16 8 (0.5 ~>) $
  103. (0.5 ~>) $
  104. -- whenmod 12 8 (0.5 <~) $ (0.5 ~>) $ -- heh
  105. slow 8 $
  106. slowspread ($) [gap 16, gap 64] $
  107. n "[0 1]/2" # s "nimble"
  108. # speed "[-3 -4]"
  109. -- # gain "1.2"
  110. -- # vowel "u"
  111. hush