Przeglądaj źródła

create snippets for use in emacs-yasnippet

plus more cleanup of main tidal file, and updated readme
Aneurin Barker Snook 8 lat temu
rodzic
commit
6e4e8f6964
20 zmienionych plików z 270 dodań i 21 usunięć
  1. 8 0
      README.md
  2. 11 21
      battery123.tidal
  3. 11 0
      snippets/b1bass1
  4. 15 0
      snippets/b1bass2
  5. 12 0
      snippets/b1drum1
  6. 14 0
      snippets/b1drum2
  7. 11 0
      snippets/b1hand
  8. 13 0
      snippets/b1perc
  9. 19 0
      snippets/b1setup
  10. 12 0
      snippets/b1tac
  11. 10 0
      snippets/b1warbler
  12. 13 0
      snippets/b2arpy
  13. 14 0
      snippets/b2bass
  14. 13 0
      snippets/b2drum
  15. 10 0
      snippets/b2perca
  16. 14 0
      snippets/b2percb
  17. 13 0
      snippets/b2trump
  18. 17 0
      snippets/b3bass
  19. 17 0
      snippets/b3drum
  20. 23 0
      snippets/battery123

+ 8 - 0
README.md

@@ -14,6 +14,14 @@ Originally performed live @ The Loft, Brighton, 4th July 2014.
 
 `samples.csv` contains sample attributions. All samples are available in `samples/` directory.
 
+## Snippets
+
+The main `battery.tidal` reflects the original composition, and includes 'initial states' of the various patterns used with notes on what should be changed and when. New patterns are prefaced with a comment like `-- @something` declaring its 'key' for reference.
+
+In the `snippets/` directory are [yasnippet](http://joaotavora.github.io/yasnippet/)-compatible snippet files reflecting these references, and additionally a `b1setup` snippet (which contains the project setup) and a `battery123` snippet that provides a convenient list of all project snippets.
+
+For easy loading and use in emacs Tidal, copy or symlink the snippets into a `haskell-mode` major group in one of your snippet folders.
+
 ## License
 
 - Source code: [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/)

+ 11 - 21
battery123.tidal

@@ -2,7 +2,7 @@
 Anny FM: Battery 1,2,3
 anny.audio
 
-Current version: 1.0
+Current version: 1.1.0
 Compatibility: Tidal Cycles 1.0-dev + SuperDirt 1.0-dev + SuperCollider 3.8
 License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/
 
@@ -129,11 +129,13 @@ Battery 2
 
 bpm 125
 
-d'perc $ cf $ s "uxay*2" # n "1 0 1 2"
-
-d'perc $ cf $ s "uxay*4"
+-- @b2perca
+d'perc $ cf $ s "uxay*2" -- (1) uxay*4
   # n "1 0 1 2"
-  -- # speed "[0.7 1 1.2]/2" -- (1)
+  -- # speed "[0.7 1 1.2]/2" -- (2)
+
+-- b2perca @ 1
+-- b2perca @ 2
 
 -- @b2drum
 d'drum $ -- overlay (s "peri") $ -- (3,4) toggle
@@ -145,7 +147,7 @@ d'drum $ -- overlay (s "peri") $ -- (3,4) toggle
 
 -- b2drum @ 1
 
--- @b2perc
+-- @b2percb
 let -- b = brak . iter 4 -- (1)
     b = cf . brak
   in d'perc $ b $ s "uxay*4"
@@ -167,7 +169,7 @@ d'tr $ cf $ whenmod 5 4 rev $ s "[~ trump ! !] ~"
   -- # speed (scale 0.5 1.5 $ slow 4 sine1) -- (1)
 
 -- b2drum w/ peri
--- b2perc @ 1
+-- b2percb @ 1
 
 -- @b2bass
 d'bass $ slow 8 $
@@ -197,7 +199,7 @@ msil [d'perc, d'bass]
 
 -- b2arpy @ 1
 
--- b2perc @ 1
+-- b2percb @ 1
 -- b2drum w/ peri
 
 msil [d'drum, d'perc]
@@ -224,18 +226,6 @@ d'drum $ cf $
     -- # n (slow 3 $ run 4) -- (1)
     ]
 
--- @b3drum
-d'drum $ cf $
-  -- every 3 rev $ -- (f4) and (f5) remove
-  -- every' 8 8 rev $ -- (f3)
-  stack [
-    -- slow 2 $ s "peri [~ ~ ~ peri] [~ peri peri ~] ~", -- (2), (3) ^peri*2 -- (f5) remove
-    -- whenmod 5 3 (density 2) $ -- (f1)
-    -- iter 2 $ -- (f2)
-    sound "[tok*2 [rm tok]] [psr:1 tok*2]"
-    -- # n (slow 3 $ run 4) -- (1)
-    ]
-
 -- @b3bass
 let p = "bass*4" -- "{bass*4, wobble*3}" (4)
   in d'bass $ cf $
@@ -285,7 +275,7 @@ msil [d'bass, d'arpy]
 -- b1perc @ 4
 -- b3drum @ 3
 
--- b2perc @ 1
+-- b2percb @ 1
 -- b2bass @ 2
 -- b1tac
 -- b1bass1 [on channel d'bass2]

+ 11 - 0
snippets/b1bass1

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: b1bass1
+# group: battery123
+# key: b1bass1
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1bass1
+d'bass $ slow 4 $ s "bass3 [~ bass3] ! ~"
+  # begin 0.2
+  -- # n "0 1 0 0" -- (1)
+  -- # speed (scale 1 (4/3) $ slow 8 sine1) -- (2)

+ 15 - 0
snippets/b1bass2

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: b1bass2
+# group: battery123
+# key: b1bass2
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1bass2
+d'bass $
+  spread slow [1,3] $
+  striate 16 $
+  s "bass3 [~ bass3] ! ~"
+  # begin 0.2
+  # n "0 1 0 0"
+  # speed (scale 1 1.5 $ slow 8 sine1)
+  # gain 0.9

+ 12 - 0
snippets/b1drum1

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: b1drum1
+# group: battery123
+# key: b1drum1
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1drum1
+d'drum $ cf $ stack [
+  -- every 4 (density 1.5) $ -- (2)
+  -- slow 2 $ s "peri [~ peri] ! ~", -- (1)
+  sound "~ psr:1"
+  ]

+ 14 - 0
snippets/b1drum2

@@ -0,0 +1,14 @@
+# -*- mode: snippet -*-
+# name: b1drum2
+# group: battery123
+# key: b1drum2
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1drum2
+d'drum $ cf $
+  stack [
+    s "peri*2", -- (-1) remove
+    -- every' 8 8 (density 1.5) $ -- (2)
+    -- every 2 (density 3) $ -- (1)
+    sound "~ psr:1"
+    ]

+ 11 - 0
snippets/b1hand

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: b1hand
+# group: battery123
+# key: b1hand
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1hand
+d'hand $ slow 8 $ rev . striate 256 $ s "hand*8"
+  # speed 0.7
+  -- # shape (scale 0 0.5 $ slow (10/4) sine1) -- (1)
+  -- # pan (scale 0.25 0.75 $ slow (8/3) sine1) -- (2)

+ 13 - 0
snippets/b1perc

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: b1perc
+# group: battery123
+# key: b1perc
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1perc
+d'perc $ cf $
+  -- fastspread slow [2,1] $ -- (3)
+  -- slow 2 . fastspread slow [2,4,2,3] $ -- (4) replace (3)
+  -- jux (0.25 <~) $ -- (2)
+  slow 2 $ s "uxay [~ uxay] [psr uxay] ~"
+  -- # n (density 3 $ run 2) -- (1)

+ 19 - 0
snippets/b1setup

@@ -0,0 +1,19 @@
+# -*- mode: snippet -*-
+# name: b1setup
+# group: battery123
+# key: b1setup
+# expand-env: (yas-indent-line 'fixed)
+# --
+let bpm b = cps (b/60)
+    msil = mapM_ ($ silence)
+    cf = slow 2
+    every' n o f = when ((== (o-1)) . (`mod` n)) f
+    d'drum = d1
+    d'perc = d2
+    d'bass = d3
+    d'hand = d4
+    d'warb = d5
+    d'bass2 = d6
+    d'arpy = d7
+    d'tr = d8
+    d'tac = d9

+ 12 - 0
snippets/b1tac

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: b1tac
+# group: battery123
+# key: b1tac
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1tac
+d'tac $ cf $
+  -- whenmod 7 4 (density 1.5) $ -- (1)
+  s "[~ tacscan] ! ~ ~"
+  # gain 0.8
+  # vowel (slow 3 "e u")

+ 10 - 0
snippets/b1warbler

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: b1warbler
+# group: battery123
+# key: b1warbler
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b1warbler
+d'warb $ slow 4 $ striate 32 $ s "warbler"
+  # n (slow 7 $ run 7)
+  # gain 0.8

+ 13 - 0
snippets/b2arpy

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: b2arpy
+# group: battery123
+# key: b2arpy
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2arpy
+d'arpy $ cf $
+  -- whenmod 7 4 (# vowel "a") $ -- (2)
+  -- iter 9 $ -- (1)
+  s "arpy*8"
+  # n "2 1 3 1"
+  # gain 0.7

+ 14 - 0
snippets/b2bass

@@ -0,0 +1,14 @@
+# -*- mode: snippet -*-
+# name: b2bass
+# group: battery123
+# key: b2bass
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2bass
+d'bass $ slow 8 $
+  s "[jvbass ~] [jvbass [~ ~ ~ ~ jvbass]] [~ [~ ~ ~ ~ jvbass]] [~ jvbass !]"
+  # n (slow 2.8 "0 1 2")
+  # vowel "i"
+  # speed 0.8
+  -- # shape 0.3 -- (1) increase 0->0.3
+  -- # shape (scale 0.25 0.75 $ saw1) -- (2) replaces (1)

+ 13 - 0
snippets/b2drum

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: b2drum
+# group: battery123
+# key: b2drum
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2drum
+d'drum $ -- overlay (s "peri") $ -- (3,4) toggle
+  cf $
+  -- every 3 (0.125 <~) $ -- (2)
+  s "psr*4 psr*2"
+  -- s "[[psr*4 psr*2] ! ! psr*8]/4" -- (1)
+  # gain 0.6

+ 10 - 0
snippets/b2perca

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: b2perca
+# group: battery123
+# key: b2perca
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2perca
+d'perc $ cf $ s "uxay*2" -- (1) uxay*4
+  # n "1 0 1 2"
+  -- # speed "[0.7 1 1.2]/2" -- (2)

+ 14 - 0
snippets/b2percb

@@ -0,0 +1,14 @@
+# -*- mode: snippet -*-
+# name: b2percb
+# group: battery123
+# key: b2percb
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2percb
+let -- b = brak . iter 4 -- (1)
+    b = cf . brak
+  in d'perc $ b $ s "uxay*4"
+     # n "1 0 1 2"
+     # gain 0.8
+     # shape "0.4 0.3 0.6"
+     # speed "[0.7 1 1.2]/2"

+ 13 - 0
snippets/b2trump

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: b2trump
+# group: battery123
+# key: b2trump
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b2trump
+d'tr $ cf $ whenmod 5 4 rev $ s "[~ trump ! !] ~"
+  # n (slow 3.2 $ run 4)
+  # gain 0.8
+  # vowel (slow 3.2 "a e o")
+  # shape 0.6
+  -- # speed (scale 0.5 1.5 $ slow 4 sine1) -- (1)

+ 17 - 0
snippets/b3bass

@@ -0,0 +1,17 @@
+# -*- mode: snippet -*-
+# name: b3bass
+# group: battery123
+# key: b3bass
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b3bass
+let p = "bass*4" -- "{bass*4, wobble*3}" (4)
+  in d'bass $ cf $
+     -- spread slow [2,(7/4)] $ -- (2)
+     -- whenmod 7 6 (density 1.5) $ -- (1)
+     -- iter 4 $ -- (3)
+     s p
+     # n "0 1"
+     # begin 0.4
+     # speed 1.2
+     # shape 0.2

+ 17 - 0
snippets/b3drum

@@ -0,0 +1,17 @@
+# -*- mode: snippet -*-
+# name: b3drum
+# group: battery123
+# key: b3drum
+# expand-env: (yas-indent-line 'fixed)
+# --
+-- @b3drum
+d'drum $ cf $
+  -- every 3 rev $ -- (f4) and (f5) remove
+  -- every' 8 8 rev $ -- (f3)
+  stack [
+    -- slow 2 $ s "peri*2 [~ ~ ~ peri] [~ peri peri ~] ~", -- (2), (3) ^peri*2 -- (f5) remove
+    -- whenmod 5 3 (density 2) $ -- (f1)
+    -- iter 2 $ -- (f2)
+    sound "[tok*2 [rm tok]] [psr:1 tok*2]"
+    -- # n (slow 3 $ run 4) -- (1)
+    ]

+ 23 - 0
snippets/battery123

@@ -0,0 +1,23 @@
+# -*- mode: snippet -*-
+# name: battery123
+# group: battery123
+# key: battery123
+# expand-env: (yas-indent-line 'fixed)
+# --
+b1setup
+b1bass1
+b1hand
+b1perc
+b1bass2
+b1drum1
+b1tac
+b1drum2
+b1warbler
+b2perca
+b2drum
+b2percb
+b2trump
+b2bass
+b2arpy
+b3drum
+b3bass