Explorar el Código

improve composition notes, and create daft number of snippets for easier performance

Aneurin Barker Snook hace 8 años
padre
commit
b9d5cee137

+ 205 - 273
piston.tidal

@@ -12,7 +12,6 @@ See README.md for more information
 let bpm b = cps (b/60)
     msil = mapM_ ($ silence)
     bassP = (# gain 0.7) . (# hcutoff 485) . (# hresonance 0.001)
-    bass' c = rev . chop c $ bassP $ n "[0 1]/2" # s "dubb"
     d'drum = d1
     d'perc = d2
     d'gnome = d3
@@ -24,37 +23,44 @@ let bpm b = cps (b/60)
     d'ant = d9
     d'cymb = d10
 
+bpm 138
+
 {-
 @p1
 Piston I
 -}
 
-bpm 138
-
 -- @p1fly
-d'fly $ slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "fly"
+d'fly $
+  -- whenmod 5 2 (# vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ -- (1)
+  slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "fly"
   # hcutoff 1985 -- 0.09 * (44100/2)
   # hresonance 0.06
   # gain 1 -- 0.5 -> 1
 
 d'perc $ s "wt/2"
 d'drum $ sound "k:1"
-d'bass $ slow 8 $ 0.25 <~ bass' 16 -- @p1bass
+
+-- @p1bass
+d'bass $ slow 8 $ (0.25 <~) $ rev . chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
+
 d'perc $ s "{wt/2, [~ wtsn]/8}"
 
 d'drum $ s "k"
 d'drum $ s "[k*2, [~ sn]]/2"
 
--- @p1fly'
-d'fly $ whenmod 5 2 (# vowel "i o") $ whenmod 3 1 (slow 2) $ brak $
-  slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "fly"
-  # hcutoff 1985 -- 0.09 * (44100/2)
-  # hresonance 0.06
+-- p1fly @ 1
 
 -- @p1perc
-d'perc $ within (0.5, 1) (slow 1.5 . chop 4) $ -- (2)
-  whenmod 5 3 (rev . chop 8) $ -- (0) rev (1) rev . chop 8
-  density (4/3) $ s "[wtsn ~ wt]"
+d'perc $
+  -- within (0.5, 1) (slow 1.5 . chop 4) $ -- (3)
+  -- whenmod 5 3 (rev) $ -- (1) (2) rev . chop 8
+  density (4/3) $
+  s "[wtsn ~ wt]"
+
+-- p1perc @ 1
+-- p1perc @ 2
+-- p1perc @ 3
 
 -- @p1gnome
 d'gnome $ within (0, 0.5) rev $ chop 8 $ s "[gnome(3,8)]/2"
@@ -69,13 +75,14 @@ d'drum $ s "[k(3,8)]/2"
 d'drum $ s "[k(3,8), ~ sn]/2"
 d'drum $ s "[k(3,8), ~ [sn [~ sn*3]/2]]/2"
 
-d'bass $ (every 2 $ within (0.25, 0.75) (0.5 ~>)) $ slow 8 $ bass' 16
+-- @p1bassout
+d'bass $ (every 2 $ within (0.25, 0.75) (0.5 ~>)) $ slow 8 $ rev . chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
 
 d'drum $ within (0.5, 1) (chop 8) $ s "[k(3,8), ~ [sn [~ sn*3]/2]]/2"
 
 msil [d'perc, d'fly]
 
--- p1fly
+-- p1fly @ 0
 
 d'perc $ s "[~ wt*4 ~ wt*2 ~]/5"
 d'drum $ overlay (3.75 ~> s "wtsn/4") $ s "[k(3,8), ~ sn]/2"
@@ -85,19 +92,17 @@ d'drum $ overlay (3.75 ~> s "wtsn/4") $ s "[k(3,8), ~ sn]/2"
 Piston II
 -}
 
-bpm 138
-
--- @p2drum
 d'drum $ slow 7 $ s "k [sn k] [k sn] [~ sn] [~ k] sn [k [k wtsn]]"
 
 msil [d'fly, d'gnome]
 
+-- @p2perc
 d'perc $ s "wt*2"
   # vowel "[u e u a]/2"
   # end 0.15
 
 -- @p2bass
-d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bassP $ n "[0 1]/2" # s "dubb"
+d'bass $ slow 8 $ ((1/8) <~) $ chop 32 $ bassP $ n "[0 1]/2" # s "dubb"
   # speed 1.2
   # shape (scale 0 0.5 $ density 4 sine1)
   # cut 1
@@ -109,11 +114,10 @@ d'ant $ slow 2 $ smash 16 [1,2] $ sound "ant:1"
   # resonance 0.01
 
 -- @p2sharda
-d'shard $ ((1%16) <~) $ chop 16 $ s "[ice [~ ice] ~ ~]/4"
+d'shard $ ((1/16) <~) $ chop 16 $ s "[ice [~ ice] ~ ~]/4"
   # gain 0.7
 
 -- @p2fly
--- solo $ -- (1)
 d'fly $ chop 64 $ s "[fly ~ [fly ~ ~ fly] ~]/4"
   # cut 1
   # begin 0.3
@@ -121,43 +125,58 @@ d'fly $ chop 64 $ s "[fly ~ [fly ~ ~ fly] ~]/4"
   # shape (scale 0.25 0.75 $ density 8 sine1)
   # speed (scale 0.92 1.92 $ density (5/4) saw1)
 
+-- solo p2fly
+
 d'drum $ 0.5 <~ sound "[[k k:1] [sn ~ ~ k]]/2"
 
 -- p2bass
 
-d'cymb $ (0.25 ~>) $
-  -- @p2cymb
-  within (0.5, 1) (# vowel "e") $ (0.5 ~>) $ chop 2 $ s "[cymb*4 cymb*3]/8"
-  # shape (scale 0 (1/3) $ density 3.6 saw1)
-  # gain 0.65
-
--- @p2perc
-d'perc $ s "wt*2"
-  # vowel "[u e u a]/2"
-  # end 0.15
+-- @p2cymb
+let o = (0.25 ~>)
+    g = 0.65
+  in d'cymb $ o $
+     within (0.5, 1) (# vowel "e") $ (0.5 ~>) $ chop 2 $ s "[cymb*4 cymb*3]/8"
+     # shape (scale 0 (1/3) $ density 3.6 saw1)
+     # gain g
 
+-- p2perc
 -- p2bass @ 1
 
 -- @p2shardb
 d'shard $
-  every 2 (density 1.5) $ whenmod 5 3 (density 2) $ -- (1)
+  -- every 2 (density 1.5) $ whenmod 5 3 (density 2) $ -- (1)
   rev $
   chop 16 $ s "[ice [~ ice] ~ ~]/4"
   # gain 0.7
   # shape (scale 0.25 0.75 $ density 8 saw1)
 
+-- p2shardb @ 1
+
 msil [d'perc, d'fly]
 
 d'drum $ sound "[[k sn] [~ k:1 k:1 ~]]/2"
 d'drum $ sound "[k [sn k:1 k:1 ~]]/2"
-d'perc $ s "~ wt*2"
 
 {-
 @p3
 Piston III
 -}
 
-bpm 138
+-- @p3perc
+d'perc $
+  {- -- (3)
+  -- within (0, 0.5) (# vowel "o") $ -- (5)
+  -- whenmod 3 2 rev $ -- (4)
+  chop 16 $
+  within (0.5, 1.5) (
+    (# orbit 1) .
+    (# delay 0.3) . (# delayfeedback 0.5) . (# delaytime 0.766) --(138/60)/3
+    ) $
+  -- -}
+  stack [
+    s "~ wt*2" -- (0)
+    -- sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8" -- (1) alone, (2) w/ wt
+    ]
 
 do d'drum $ s "k"
    msil [d'bass, d'cymb]
@@ -169,13 +188,12 @@ d'bz $ s "[ff(3,8) [~ [ff bz]]]/4"
   # gain 0.7
 
 d'drum silence
-d'drum $ s "[k k sn k]/2" -- @p3druma
+d'drum $ s "[k k sn k]/2"
 
 -- @p3bass
--- solo $ -- (4)
-let v = "i" -- (0) i (1) o i
-    c = 1 -- (0) 1 (3) 0
-    b = id -- (0) id (2) brak
+let v = "i" -- (1) o i
+    c = 1 -- (3) 0
+    b = id -- (2) brak
     in d'bass $
        (4 <~) $ every 2 (0.5 <~) $
        slow 4 . b $
@@ -184,13 +202,18 @@ let v = "i" -- (0) i (1) o i
        # cut c
        # vowel v
 
-d'drum $ s "{[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8, [~ sn]/2}" -- @p3drumb
+-- p3bass @ 1
+-- p3bass @ 2
+-- p3bass @ 3
+
+d'drum $ s "{[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8, [~ sn]/2}"
 
--- solo ~p3bass
+-- solo p3bass
 
+-- p3perc @ 1
 d'perc $ sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8"
 
--- p4dubb
+-- @p3dubb
 d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
   # cut 1
   # speed 0.2
@@ -198,69 +221,63 @@ d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
 
 d'drum $ s "{[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8, [~ sn]/2}"
 
-d'perc $ -- within (0, 0.5) (# vowel "o") $ -- (3)
-  whenmod 3 2 rev $ -- (2)
-  chop 16 $
-  within (0.5, 1.5) (
-    (# orbit 1) .
-    (# delay 0.3) . (# delayfeedback 0.5) . (# delaytime 0.766) --(138/60)/3
-    ) $
-  overlay (s "~ wt*2") $ -- (1)
-  sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8"
+-- p3perc @ 2
+-- p3perc @ 3
+-- p3perc @ 4
+-- p3perc @ 5
 
 -- @p3shard
-d'shard $ iter 5 . density 2 $ -- (1)
-  (0.5 <~) $ ((1%16) <~) $ chop 16 $ s "[ice [~ ice] ~ ~]/4"
-  # gain 0.6 -- (0) 0.7 (1) 0.6
-  # vowel "e o" -- (1)
+d'shard $ -- iter 5 . density 2 $ -- (1)
+  -- (p2sharda)
+  (0.5 <~) $ ((1/16) <~) $ chop 16 $ s "[ice [~ ice] ~ ~]/4"
+  # gain 0.7 -- (0) 0.7 (1) 0.6
+  -- # vowel "e o" -- (1)
 
 -- p1gnome
-d'gnome $ within (0, 0.5) rev $ chop 8 $ s "[gnome(3,8)]/2"
-  # gain 0.8
-  # speed (scale 0.8 1 $ slow 1.1 sine1)
-
--- p3bass w/ v="o i", c=0, b=brak
+-- p3bass @ 3
 
 {-
 @p4
 Piston IV
 -}
 
-bpm 138
+-- solo p3dubb
 
--- @p4dubb
-solo $ d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
-  # cut 1
-  # speed 0.2
-  # vowel "e"
-
-d'perc $ sound "[[~ [wt wtsn]] ~ wt ~]/5"
+-- @p4perc
+d'perc $
+  -- smash 4 [0.5,0.25] $ iter 4 $ -- (1)
+  sound "[[~ [wt wtsn]] ~ wt ~]/5"
 
 -- @p4shard
-d'shard $ -- whenmod 7 3 (density (5/4)) $ -- (1)
+d'shard $
+  -- whenmod 7 3 (density (5/4)) $ -- (1)
   within (0.5, 0.75) (iter 5) $ whenmod 3 2 (slow 2) $ slow 8 $ every 2 rev $
-  striate 128 $ s "[ice plode]*2" -- (0) ice plode (2) ice wtsn
+  striate 128 $ s "[ice plode]*2" -- (2) ice wtsn
   # cutoff 441 -- 0.02 * (44100/2)
   # resonance 0.001
   # speed 0.7
   # gain 0.7
   -- # vowel "u e" -- (2)
 
--- @p4drum + @p4perc
 d'drum $ sound "[k sn k*2 [~ sn] [~ k]]/5"
-d'perc $ smash 4 [0.5,0.25] $ iter 4 $ sound "[[~ [wt wtsn]] ~ wt ~]/5"
 
+-- p4perc @ 1
+
+-- @p4bz
 d'bz $ (0.5 <~) $ slow 16 . chop 32 $ s "bzl"
   # n (density 1.5 "0 1")
   # speed (scale 1 2 $ density 1.7 sine1)
   # gain 0.9
 
 d'misc silence
+
 -- p4shard @ 1
+
 d'drum $ sound "[[k k:1]*2 sn k*2 [~ sn] [~ k]]/5"
 
-d'bass $ (0.75 ~>) $
-  -- @p4bass
+-- @p4bass
+let o = 0.75
+  in d'bass $ (o ~>) $
   whenmod 5 3 (density (3/2) . brak) $
   bassP $
   rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
@@ -270,36 +287,35 @@ d'bass $ (0.75 ~>) $
 
 msil [d'perc, d'bz, d'shard]
 
--- @p4bz
-d'bz $ -- every 3 brak $ -- (0) off (2) 3 (4) 2
+-- @p4bz2
+d'bz $ -- every 3 brak $ -- (2) ev3 (4) ev2 (5) ev3
   whenmod 7 4 (within (0.5, 1) (density 2)) $
   (0.5 <~) $
   slow 16 . chop 32 $
-  s "bz" -- (0) bz (1) bz*2 (3) bz bzl (4) bz*2
+  s "bz" -- (0) bz (1) bz*2 (3) bz bzl (4) bz*2 (5) ~ bzl
   # n (density 1.5 "0 1")
   # speed (scale 1.6 2.6 $ density 2.2 sine1)
   # pan (scale 0.25 0.75 $ density 4.1 sine1)
 
 d'drum $ sound "[k*2 sn [~ k] sn]/4"
--- p4bz @ 1
+
+-- p4bz2 @ 1
 -- p4shard @ 2
--- p4bz @ 2
+-- p4bz2 @ 2
 
-d'perc $ smash 4 [0.5,0.25] $ iter 4 $ sound "[[~ [wt wtsn]] ~ wt ~]/5"
+-- p4perc @ 1
 d'drum silence
 d'drum $ sound "[[k ~ ~ k] sn [~ k] sn]/4"
 
--- p4bz @ 3
+-- p4bz2 @ 3
 msil [d'perc,d'bass,d'shard]
--- p4bz @ 4
+-- p4bz2 @ 4
 
 {-
 @p5
 Piston V
 -}
 
-bpm 138
-
 -- @p5perc
 d'perc $ s "~ wt wt wtsn/8"
   # shape (scale 0 0.5 $ density 1.2 saw1)
@@ -307,46 +323,50 @@ d'perc $ s "~ wt wt wtsn/8"
 d'drum $ overlay (s "[[k ~ ~ k] ~ [~ k] ~]/4") $ sound "{[~ ~ ~ k:1], [~ sn]/2}"
 
 -- p2ant
-d'ant $ slow 2 $ smash 16 [1,2] $ sound "ant:1"
-  # cutoff 1764 -- 0.08 * (44100/2)
-  # resonance 0.01
 
 do d'drum $ sound "{[~ ~ ~ k:1], [~ sn]/2}"
    msil [d'bz, d'ant]
 
-d'drum $ sound "{k, [~ ~ ~ k:1], [~ sn]/2}" -- @p5drum
-
-d'bass $ chop 16 $ bassP $ s "[~ dubb]"
-  # n (slow 4 "0 1")
-  # cut 1
-
--- @p5fly
-let b = id -- (0) id (1) brak
-    in d'fly $ whenmod 5 3 rev $ b $
-       slow 16 $ jux ((1.5 ~>) . rev) $
-       chop 64 $ bassP $ sound "fly:1"
-       # speed 0.7
-       # shape (scale 0 0.5 $ density 2.1 saw1)
+d'drum $ sound "{k, [~ ~ ~ k:1], [~ sn]/2}"
 
 -- @p5bass
-d'bass $ -- within (0.5, 0.75) (# vowel "u o") $ -- (4), delete in (5)
-  -- every 2 (density 2) $ -- (3)
-  -- density 1.6 $ -- (2) replacing (1)
-  -- whenmod 3 2 (density 1.6) $ -- (1), (4) replacing (2)
+d'bass $
+  -- (# gain (scale 0 0.7 $ saw1)) $ -- (6)
+  -- within (0.5, 0.75) (# vowel "u o") $ -- (5), (6) delete
+  -- every 2 (density 2) $ -- (2)
+  -- density 1.6 $ -- (1)
+  -- whenmod 3 2 (density 1.6) $ -- (4) replaces (1)
   chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut 1
   -- # speed (scale 0.75 1.25 $ slow 1.3 sine1) -- (3)
 
+-- @p5fly
+let b = id -- (0) id (1) brak
+  in d'fly $ whenmod 5 3 rev $ b $
+     slow 16 $ jux ((1.5 ~>) . rev) $
+     chop 64 $ bassP $ sound "fly:1"
+     # speed 0.7
+     # shape (scale 0 0.5 $ density 2.1 saw1)
+
 d'fly silence
 
 -- p5bass @ 1
 -- p5bass @ 2
 
-d'bz $ whenmod 4 3 (density 1.8) $ -- (1)
+-- @p5bass2
+d'bz $
+  -- within (0, 0.5) rev $ -- (3)
+  -- whenmod 4 3 (density 1.8) $ -- (1)
   chop 12 $ sound "[~ ~ [~ k:1] !]/4"
   # speed 0.9
-  # shape (scale 0 (1/3) $ density 3 sine1) -- (2)
+  -- # shape (scale 0 (1/3) $ density 3 sine1) -- (2)
+  {- -- (4)
+  # orbit 1
+  # delay 0.3
+  # delayfeedback 0.2
+  # delaytime 0.2875 --(138/60)/8
+  -}
 
 -- p5bass2 @ 1
 -- p5bass @ 3
@@ -363,26 +383,22 @@ let g sm f = smash 64 sm $ s "~ gnome" # pan (f $ slow 4 sine1)
      # shape ((0.25 ~>) $ scale 0 0.5 $ density 3 sine1)
      # gain 0.6
 
--- @p5bass @ 4
+-- p5bass @ 4
+-- p5bass @ 5
 
 msil [d'drum, d'bass]
 d'drum $ sound "k:1"
 
--- @p5drum2
-d'bz $ -- within (0, 0.5) rev -- (1)
-  whenmod 4 3 (density 1.8) $
-  chop 12 $ sound "[~ ~ [~ k:1] !]/4"
-  # speed 0.9
-  # shape (scale 0 (1/3) $ density 3 sine1)
-  # orbit 1
-  # delay 0.3
-  # delayfeedback 0.2
-  # delaytime 0.2875 --(138/60)/8
+-- p5bass2 @ 3
+-- p5bass2 @ 4
+
+-- p5fly @ 1
+-- p5bass @ 4
 
--- p5fly w/ b=brak
--- p5bass @ 5
 d'drum $ sound "{k, [~ ~ ~ k:1], [~ sn]/2}"
 
+-- p5bass @ 6
+
 msil [d'perc, d'bz]
 d'gnome silence
 
@@ -391,62 +407,47 @@ d'gnome silence
 Piston VI
 -}
 
-bpm 138
-
--- solo $ -- (0)
-d'bass $ (# gain (scale 0 0.7 $ saw1)) $
-  within (0.5, 0.75) (# vowel "u o") $ -- (4), delete in (5)
-  every 2 (density 2) $ -- (3)
-  whenmod 3 2 (density 1.6) $ -- (1), (4) replacing (2)
-  chop 16 $ bassP $ s "[~ dubb]"
-  # n (slow 4 "0 1")
-  # cut 1
-  # speed (scale 0.75 1.25 $ slow 1.3 sine1) -- (3)
+-- solo p5bass @ 6
 
 -- @p6bass
 d'bz $ within (0, 0.5) (slow (7/6)) $
   every 2 (0.5 <~) $ slow 8 $
-  bass' 32
+  rev . chop 32 $ bassP $ n "[0 1]/2" # s "dubb"
 
+-- @p6plode
 d'fly $ superimpose (slow (5/3) . iter 3) $
   (# speed (scale 0.7 1.7 $ slow 1.1 sine1)) $
   chop 32 $ s "[plode(5,8)]/8"
   # cut 1
 
-d'cymb $ s "[cymb*8 ~]/8"
+-- @p6cymb
+d'cymb $
+  -- density (5/4) $ whenmod 9 4 (density 1.5) $ -- (1)
+  s "[cymb*8 ~]/8"
   # gain (scale 0.6 0.8 $ density 3.6 saw1)
   # cut 1
 
-d'perc $ s "wt*2"
-  # vowel "[u e u a]/2"
-  # end 0.15
-  # gain 0.85
+-- p2perc w/ gain 0.85
 
 d'bass silence
-d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1]}" -- @p6drum
-d'misc $ slow 16 $ bass' 64
+d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1]}"
 
--- @p6cymb
-d'cymb $ density (5/4) $ whenmod 9 4 (density 1.5) $ -- (1)
-  s "[cymb*8 ~]/8"
-  # gain (scale 0.6 0.8 $ density 3.6 saw1)
-  # cut 1
+-- @p6fbass
+d'misc $ slow 16 $ rev . chop 64 $ bassP $ n "[0 1]/2" # s "dubb"
+
+-- p6cymb @ 1
 
 -- @p6wtsn
 d'gnome $ (3 ~>) $ within (0.25, 0.75) rev $
   slowspread ($) [chop 16, chop 32] $ s "[wtsn(3,8)]/2"
   # speed (scale 0.8 1.3 $ density 1.8 sine1)
 
-d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1], [~ sn ~ sn*2]/8}" -- @p6drum-sn
+d'drum $ stack [
+  sound "{k, [~ ~ ~ k:1] [~ k:1]}",
+  s "[~ sn ~ sn*2]/8"
+  ]
 
-d'bass $ (0.6 ~>) $
-  -- p4bass
-  whenmod 5 3 (density (3/2) . brak) $
-  bassP $
-  rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
-  # speed 0.5
-  # cut 1
-  # end 0.5
+-- p4bass w/ o=0.6
 
 msil [d'perc, d'gnome, d'misc]
 
@@ -458,28 +459,20 @@ let d = 5 -- (0) 5 (1) 3
      # gain 0.8
      # speed (scale 0.76 (0.76 + 1/d) $ slow 1.1 sine1)
 
-msil [d'drum, d'fly, d'bz, d'cymb]
-
-d'drum $ sound "[[k k:1]*2 [sn k:1 ~ k] [~ k:1 k ~] [~ sn ~ k]]/8" -- @p6drumslow
+-- p6gnome @ 1
 
--- p5fly
-d'fly $ whenmod 5 3 rev $
-  slow 16 $ jux ((1.5 ~>) . rev) $
-  chop 64 $ bassP $ sound "fly:1"
-  # speed 0.7
-  # shape (scale 0 0.5 $ density 2.1 saw1)
+msil [d'drum, d'fly, d'bz, d'cymb]
 
-d'cymb $ (0.5 <~) $
-  -- p2cymb
-  within (0.5, 1) (# vowel "e") $ (0.5 ~>) $ chop 2 $ s "[cymb*4 cymb*3]/8"
-  # shape (scale 0 (1/3) $ density 3.6 saw1)
-  # gain 0.7
+d'drum $ sound "[[k k:1]*2 [sn k:1 ~ k] [~ k:1 k ~] [~ sn ~ k]]/8"
 
-d'bz $ within (0, 0.5) (slow (7/6)) $
-  every 2 (0.5 <~) $ slow 8 $
-  bass' 32
+-- p5fly @ 1
+-- p2cymb w/ o=(0.5 <~), g=0.7
+-- p6bass
 
-d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1], [~ sn ~ sn*2]/8}"
+d'drum $ stack [
+  sound "{k, [~ ~ ~ k:1] [~ k:1]}",
+  s "[~ sn ~ sn*2]/8"
+  ]
 
 msil [d'perc, d'fly, d'bz]
 
@@ -488,12 +481,10 @@ msil [d'perc, d'fly, d'bz]
 Piston VII
 -}
 
-bpm 138
-
--- solo $ -- (1)
+-- solo $
 d'drum $ whenmod 3 2 (slow (4/3)) $ s "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"
 
-d'drum $ every 3 (density 2) $ within (0, 0.5) (jux ((1%3) ~>)) $
+d'drum $ every 3 (density 2) $ within (0, 0.5) (jux ((1/3) ~>)) $
   s "[k [sn ~ k] [~ ~ sn] ~]/8"
 
 -- @p7shard
@@ -509,12 +500,13 @@ d'shard $ slow 5 . chop 15 $ s "ice"
 hush
 d'drum $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
 
+-- @p7perc
 d'perc $ s "[wt*3 ~]/2"
   # shape (scale 0 0.5 $ slow 3 saw1)
 
 -- @p7bassa
 d'bass $ slow 8 $
-  slowspread ($) [rev.chop 12, rev.chop 24] $
+  slowspread (\c -> rev . chop c) [12, 24] $
   bassP $ n "[0 1]/2" # s "dubb"
 
 -- @p7fly
@@ -530,6 +522,7 @@ d'fly $ slow (4/3) .
   # delaytime 0.62 --(112/60)/3
   -- -}
 
+-- @p7bz
 d'bz $ rev . chop 12 $ s "bz/4"
   # vowel "o"
 
@@ -541,13 +534,13 @@ let bm f = scale f (0.5 + f) $ density (5/4) sine1
      (# begin (bm 0)) $
      (# end (bm 0.05)) $
      slow 8 $
-     slowspread ($) [rev.chop 12, rev.chop 24] $
+     slowspread (\c -> rev . chop c) [12, 24] $
      bassP $ n "[0 1]/2" # s "dubb"
 
 -- p7shard @ 0
 
-d'drum $ s "{[k k]/2, ~ sn}" -- @p7drum2a
-d'drum $ s "{[[k ~ k] k]/2, ~ sn}" -- @p7drum2b
+d'drum $ s "{[k k]/2, ~ sn}"
+d'drum $ s "{[[k ~ k] k]/2, ~ sn}"
 
 -- p7shard @ 1
 
@@ -556,12 +549,12 @@ msil [d'bass, d'shard]
 -- @p7bassc
 d'bass $ slow 8 $
   within (0.33, 0.67) (0.25 ~>) $
-  slowspread ($) [rev.chop 12, rev.chop 24] $
+  slowspread (\c -> rev . chop c) [12, 24] $
   bassP $ n "[0 1]/2" # s "dubb"
   # vowel "o"
 
 d'bass silence
-d'drum $ within (0, 0.5) (jux ((1%3) ~>)) $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
+d'drum $ within (0, 0.5) (jux ((1/3) ~>)) $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
 d'bz silence
 
 {-
@@ -569,11 +562,11 @@ d'bz silence
 Piston VIII
 -}
 
-bpm 138
+-- p6fbass w/ chop 32
 
-d'bass $ slow 16 $ bass' 32
-d'drum $ within (0, 0.5) (superimpose ((1%3) ~>)) $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
+d'drum $ within (0, 0.5) (superimpose ((1/3) ~>)) $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
 
+-- @p8bz
 d'bz $ s "[[ff bz]*2 [~ bz*2]]/2"
   # n (slow 2 $ run 5)
   # begin 0.7
@@ -586,67 +579,56 @@ d'bz $ s "[[ff bz]*2 [~ bz*2]]/2"
 d'drum $ s "[k*2 [sn ~ ~ wt] [~ k] sn [~ k]]/5"
 d'drum $ s "[k [sn ~ ~ wt] [~ k] sn]/4"
 
-d'bass $ slow 16 $ bass' 64
-
+-- p6fbass
 -- p2ant
-d'ant $ slow 2 $ smash 16 [1,2] $ sound "ant:1"
-  # cutoff 1764 -- 0.08 * (44100/2)
-  # resonance 0.01
 
--- @p8druma
 d'drum $ s "[k [sn ~ ~ k] [~ k] sn]/4"
 
--- p2fly
-d'misc $ chop 64 $ s "[fly ~ [fly ~ ~ fly] ~]/4"
-  # cut 1
-  # begin 0.3
-  # end 0.35
-  # shape (scale 0.25 0.75 $ density 8 sine1)
-  # speed (scale 0.92 1.92 $ density (5/4) saw1)
-
--- p5bass
-d'shard $ every 2 (density 2) $ whenmod 3 2 (density 1.6) $
-  chop 16 $ bassP $ s "[~ dubb]"
-  # n (slow 4 "0 1")
-  # cut 1
-  # speed (scale 0.75 1.25 $ slow 1.3 sine1)
+-- p2fly on d'misc
+-- p5bass @ 3
 
 d'perc $ s "{wt/2, [~ wtsn]/8}"
 
-d'cymb $ density (5/4) $ whenmod 9 4 (density 1.5) $
-  s "[cymb*8 ~]/8"
-  # gain (scale 0.6 0.8 $ density 3.6 saw1)
-  # cut 1
+-- p6cymb @ 1
 
 -- @p8perc
 -- solo $
 d'perc $ stack [
-  -- {- (3) ~p1fly'
+  {- -- (3)
+  -- (p1fly @ 2)
   whenmod 5 2 (# vowel "i o") $ whenmod 3 1 (slow 2) $ brak $
   slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "fly"
   # hcutoff 1985 -- 0.09 * (44100/2)
   # hresonance 0.06,
-  -- -} -- p1perc
-  within (0.5, 1) (slow 1.5 . chop 4) $ -- (2)
-  whenmod 5 3 (rev . chop 8) $ -- (0) rev (1) rev . chop 8
-  density (4/3) $ s "[wtsn ~ wt]"
+  -- -}
+  -- (p1perc)
+  -- within (0.5, 1) (slow 1.5 . chop 4) $ -- (4)
+  -- whenmod 5 3 (rev) $ -- (1) (2) rev . chop 8
+  density (4/3) $
+  s "[wtsn ~ wt]"
   ]
 
--- @p8drumb
+-- p8perc @ 1
+-- p8perc @ 2
+-- p8perc @ 3
+-- p8perc @ 4
+
 d'drum $ s "[k [sn ~ ~ k] [~ k*2] sn]/4"
 
 msil [d'fly, d'bz, d'shard, d'misc, d'ant, d'cymb]
 
 -- @p8bass
 d'misc $ stack [
-  {- (1) ~p5bass
+  {- -- (1)
+  -- (p5bass)
   every 2 (density 2) $ whenmod 3 2 (density 1.6) $
   chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut 1
   # speed (scale 0.75 1.25 $ slow 1.3 sine1),
   (0.75 ~>) $
-  -- -} -- p4bass
+  -- -}
+  -- (p4bass w/ o=id)
   whenmod 5 3 (density (3/2) . brak) $
   bassP $
   rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
@@ -655,78 +637,28 @@ d'misc $ stack [
   # end 0.5
   ]
 
--- @p8drumc
 d'drum $ s "[k*2 [sn ~ ~ k] [k k*2] sn]/4"
 
--- p4shard
-d'shard $ whenmod 7 3 (density (5/4)) $
-  within (0.5, 0.75) (iter 5) $
-  whenmod 3 2 (slow 2) $
-  slow 8 $ every 2 rev $ striate 128 $ s "[ice plode]*2"
-  # cutoff 441 -- 0.02 * (44100/2)
-  # resonance 0.001
-  # speed 0.7
-  # gain 0.7
-
--- p5fly
-d'fly $ whenmod 5 3 rev $ brak $
-  slow 16 $ jux ((1.5 ~>) . rev) $
-  chop 64 $ bassP $ sound "fly:1"
-  # speed 0.7
-  # shape (scale 0 0.5 $ density 2.1 saw1)
-
+-- p4shard @ 2
+-- p5fly @ 1
 -- p6bass
-d'ant $ within (0, 0.5) (slow (7/6)) $
-  every 2 (0.5 <~) $ slow 8 $
-  bass' 32
-
 -- p6wtsn
-d'cymb $ (3 ~>) $
-  within (0.25, 0.75) rev $
-  slowspread ($) [chop 16, chop 32] $ s "[wtsn(3,8)]/2"
-  # speed (scale 0.8 1.3 $ density 1.8 sine1)
-
--- p6gnome
-let d = 5 -- (0) 5 (1) 3
-  in d'gnome $ iter 5 $ density (9/8) $
-     within (0, 0.5) rev $
-     smash 8 [1,2] $ s "[gnome(3,8)]/2"
-     # gain 0.8
-     # speed (scale 0.76 (0.76 + 1/d) $ slow 1.1 sine1)
-
--- p3shard
-d'bz $ -- within (0.5, 1) (density 2) $ -- (1)
-  iter 5 . density 2 $ (0.5 <~) $ ((1%16) <~) $
-  chop 16 $ s "[ice [~ ice] ~ ~]/4"
-  # vowel "e o"
-  # gain 0.6
-
+-- p6gnome @ 0
+-- p3shard @ 0
 -- p6gnome @ 1
 -- p3shard @ 1
 
 msil [d'fly, d'shard, d'bz, d'misc, d'cymb]
 
--- @p8bass @ 0
+-- p8bass @ 0
 
-d'cymb $ (2.75 ~>) $
-  -- p2cymb
-  within (0.5, 1) (# vowel "e") $ (0.5 ~>) $ chop 2 $ s "[cymb*4 cymb*3]/8"
-  # shape (scale 0 (1/3) $ density 3.6 saw1)
-  # gain 0.7
+-- p2cymb w/ o=(2.75 ~>), g=0.7
 
 msil [d'gnome, d'ant]
 
--- p4bz
-d'bz $ every 3 brak $
-  whenmod 7 4 (within (0.5, 1) (density 2)) $
-  (0.5 <~) $
-  slow 16 . chop 32 $ s "~ bzl"
-  # n (density 1.5 "0 1")
-  # speed (scale 1.6 2.6 $ density 2.2 sine1)
-  # pan (scale 0.25 0.75 $ density 4.1 sine1)
+-- p4bz2 @ 5
 
 msil [d'bz, d'cymb, d'misc]
 
--- solo ~p8perc
-
+-- solo p1perc @ 3
 hush

+ 8 - 0
snippets/p1bass

@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: p1bass
+# group: pistonlp
+# key: p1bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1bass
+d'bass $ slow 8 $ (0.25 <~) $ rev . chop 16 $ bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 8 - 0
snippets/p1bassout

@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: p1bassout
+# group: pistonlp
+# key: p1bassout
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1bassout
+d'bass $ (every 2 $ within (0.25, 0.75) (0.5 ~>)) $ slow 8 $ rev . chop 16 $ bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 25 - 0
snippets/p1drum

@@ -0,0 +1,25 @@
+# -*- mode: snippet -*-
+# name: p1drum
+# group: pistonlp
+# key: p1drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1drum
+d'perc $ s "${1:wt}/2"
+d'drum $ sound "${2:k}"
+
+d'perc $ s "{$1/2, [~ ${3:wtsn}]/8}"
+
+d'drum $ s "$2"
+d'drum $ s "[$2*2, [~ ${4:sn}]]/2"
+
+d'drum $ s "[$2*2, ~ [$4 [~ $4*3]/2]]/2"
+
+d'drum $ s "[$2(3,8)]/2"
+d'drum $ s "[$2(3,8), ~ $4]/2"
+d'drum $ s "[$2(3,8), ~ [$4 [~ $4*3]/2]]/2"
+
+d'drum $ within (0.5, 1) (chop 8) $ s "[$2(3,8), ~ [$4 [~ $4*3]/2]]/2"
+
+d'perc $ s "[~ $1*4 ~ $1*2 ~]/5"
+d'drum $ overlay (3.75 ~> s "$3/4") $ s "[$2(3,8), ~ $4]/2"

+ 13 - 0
snippets/p1fly

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p1fly
+# group: pistonlp
+# key: p1fly
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1fly
+d'fly $
+  -- whenmod 5 2 (# vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ -- (1)
+  slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "${1:fly}"
+  # hcutoff 1985 -- 0.09 * (44100/2)
+  # hresonance 0.06
+  # gain 1 -- 0.5 -> 1

+ 10 - 0
snippets/p1gnome

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p1gnome
+# group: pistonlp
+# key: p1gnome
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1gnome
+d'gnome $ within (0, 0.5) rev $ chop 8 $ s "[${1:gnome}(3,8)]/2"
+  # gain 0.8
+  # speed (scale 0.8 1 $ slow 1.1 sine1)

+ 12 - 0
snippets/p1perc

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p1perc
+# group: pistonlp
+# key: p1perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p1perc
+d'perc $
+  -- within (0.5, 1) (slow 1.5 . chop 4) $ -- (3)
+  -- whenmod 5 3 (rev) $ -- (1) (2) rev . chop 8
+  density (4/3) $
+  s "[${1:wtsn} ~ ${2:wt}]"

+ 10 - 0
snippets/p2ant

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p2ant
+# group: pistonlp
+# key: p2ant
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2ant
+d'ant $ slow 2 $ smash 16 [1,2] $ sound "${1:ant}:1"
+  # cutoff 1764 -- 0.08 * (44100/2)
+  # resonance 0.01

+ 12 - 0
snippets/p2bass

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p2bass
+# group: pistonlp
+# key: p2bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2bass
+d'bass $ slow 8 $ ((1/8) <~) $ chop 32 $ bassP $ n "[0 1]/2" # s "${1:dubb}"
+  # speed 1.2
+  # shape (scale 0 0.5 $ density 4 sine1)
+  # cut 1
+  -- # vowel "u a" -- (1)

+ 13 - 0
snippets/p2cymb

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p2cymb
+# group: pistonlp
+# key: p2cymb
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2cymb
+let o = (0.25 ~>)
+    g = 0.65
+  in d'cymb $ o $
+     within (0.5, 1) (# vowel "e") $ (0.5 ~>) $ chop 2 $ s "[${1:cymb}*4 $1*3]/8"
+     # shape (scale 0 (1/3) $ density 3.6 saw1)
+     # gain g

+ 13 - 0
snippets/p2drum

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p2drum
+# group: pistonlp
+# key: p2drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2drum
+d'drum $ slow 7 $ s "${1:k} [${2:sn} $1] [$1 $2] [~ $2] [~ $1] $2 [$1 [$1 ${3:wtsn}]]"
+
+d'drum $ 0.5 <~ sound "[[$1 $1:1] [$2 ~ ~ $1]]/2"
+
+d'drum $ sound "[[$1 $2] [~ $1:1 $1:1 ~]]/2"
+d'drum $ sound "[$1 [$2 $1:1 $1:1 ~]]/2"

+ 13 - 0
snippets/p2fly

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p2fly
+# group: pistonlp
+# key: p2fly
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2fly
+d'fly $ chop 64 $ s "[${1:fly} ~ [$1 ~ ~ $1] ~]/4"
+  # cut 1
+  # begin 0.3
+  # end 0.35
+  # shape (scale 0.25 0.75 $ density 8 sine1)
+  # speed (scale 0.92 1.92 $ density (5/4) saw1)

+ 10 - 0
snippets/p2perc

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p2perc
+# group: pistonlp
+# key: p2perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2perc
+d'perc $ s "${1:wt}*2"
+  # vowel "[u e u a]/2"
+  # end 0.15

+ 9 - 0
snippets/p2sharda

@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: p2sharda
+# group: pistonlp
+# key: p2sharda
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2sharda
+d'shard $ ((1/16) <~) $ chop 16 $ s "[${1:ice} [~ $1] ~ ~]/4"
+  # gain 0.7

+ 13 - 0
snippets/p2shardb

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p2shardb
+# group: pistonlp
+# key: p2shardb
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p2shardb
+d'shard $
+  -- every 2 (density 1.5) $ whenmod 5 3 (density 2) $ -- (1)
+  rev $
+  chop 16 $ s "[${1:ice} [~ $1] ~ ~]/4"
+  # gain 0.7
+  # shape (scale 0.25 0.75 $ density 8 saw1)

+ 17 - 0
snippets/p3bass

@@ -0,0 +1,17 @@
+# -*- mode: snippet -*-
+# name: p3bass
+# group: pistonlp
+# key: p3bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3bass
+let v = "i" -- (1) o i
+    c = 1 -- (3) 0
+    b = id -- (2) brak
+    in d'bass $
+       (4 <~) $ every 2 (0.5 <~) $
+       slow 4 . b $
+       rev . chop 16 $
+       bassP $ n "[0 1]/2" # s "${1:dubb}"
+       # cut c
+       # vowel v

+ 11 - 0
snippets/p3bz

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: p3bz
+# group: pistonlp
+# key: p3bz
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3bz
+d'bz $ s "[${1:ff}(3,8) [~ [$1 ${2:bz}]]]/4"
+  # end 0.3
+  # shape "0 0.25"
+  # gain 0.7

+ 11 - 0
snippets/p3drum

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: p3drum
+# group: pistonlp
+# key: p3drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3drum
+d'drum $ s "${1:k}"
+d'drum $ s "[$1 $1 ${2:sn} $1]/2"
+
+d'drum $ s "{[$1*2 [~ $1*2] $1 ~ $1*2 ~ $1*2 ~]/8, [~ $2]/2}"

+ 11 - 0
snippets/p3dubb

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: p3dubb
+# group: pistonlp
+# key: p3dubb
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3dubb
+d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "${1:dubb}"
+  # cut 1
+  # speed 0.2
+  # vowel "e"

+ 21 - 0
snippets/p3perc

@@ -0,0 +1,21 @@
+# -*- mode: snippet -*-
+# name: p3perc
+# group: pistonlp
+# key: p3perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3perc
+d'perc $
+  {- -- (3)
+  -- within (0, 0.5) (# vowel "o") $ -- (5)
+  -- whenmod 3 2 rev $ -- (4)
+  chop 16 $
+  within (0.5, 1.5) (
+    (# orbit 1) .
+    (# delay 0.3) . (# delayfeedback 0.5) . (# delaytime 0.766) --(138/60)/3
+    ) $
+  -- -}
+  stack [
+    s "~ ${1:wt}*2" -- (0)
+    -- sound "[[${2:k}:1 [~ $2:1] $2:1 [~ $2:1]] ${3:sn}]/8" -- (1) alone, (2) w/ wt
+    ]

+ 12 - 0
snippets/p3shard

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p3shard
+# group: pistonlp
+# key: p3shard
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p3shard
+d'shard $ -- iter 5 . density 2 $ -- (1)
+  -- (p2sharda)
+  (0.5 <~) $ ((1/16) <~) $ chop 16 $ s "[${1:ice} [~ $1] ~ ~]/4"
+  # gain 0.7 -- (0) 0.7 (1) 0.6
+  -- # vowel "e o" -- (1)

+ 15 - 0
snippets/p4bass

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: p4bass
+# group: pistonlp
+# key: p4bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4bass
+let o = 0.75
+  in d'bass $ (o ~>) $
+  whenmod 5 3 (density (3/2) . brak) $
+  bassP $
+  rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "${1:dubb}"
+  # speed 0.5
+  # cut 1
+  # end 0.5

+ 11 - 0
snippets/p4bz

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: p4bz
+# group: pistonlp
+# key: p4bz
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4bz
+d'bz $ (0.5 <~) $ slow 16 . chop 32 $ s "${1:bzl}"
+  # n (density 1.5 "0 1")
+  # speed (scale 1 2 $ density 1.7 sine1)
+  # gain 0.9

+ 15 - 0
snippets/p4bz2

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: p4bz2
+# group: pistonlp
+# key: p4bz2
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4bz2
+d'bz $ -- every 3 brak $ -- (2) ev3 (4) ev2 (5) ev3
+  whenmod 7 4 (within (0.5, 1) (density 2)) $
+  (0.5 <~) $
+  slow 16 . chop 32 $
+  s "${1:bz}" -- (0) bz (1) bz*2 (3) bz bzl (4) bz*2 (5) ~ bzl
+  # n (density 1.5 "0 1")
+  # speed (scale 1.6 2.6 $ density 2.2 sine1)
+  # pan (scale 0.25 0.75 $ density 4.1 sine1)

+ 12 - 0
snippets/p4drum

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p4drum
+# group: pistonlp
+# key: p4drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4drum
+d'drum $ sound "[${1:k} ${2:sn} $1*2 [~ $2] [~ $1]]/5"
+d'drum $ sound "[[$1 $1:1]*2 $2 $1*2 [~ $2] [~ $1]]/5"
+
+d'drum $ sound "[$1*2 $2 [~ $1] $2]/4"
+d'drum $ sound "[[$1 ~ ~ $1] $2 [~ $1] $2]/4"

+ 10 - 0
snippets/p4perc

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p4perc
+# group: pistonlp
+# key: p4perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4perc
+d'perc $
+  -- smash 4 [0.5,0.25] $ iter 4 $ -- (1)
+  sound "[[~ [${1:wt} ${2:wtsn}]] ~ $1 ~]/5"

+ 16 - 0
snippets/p4shard

@@ -0,0 +1,16 @@
+# -*- mode: snippet -*-
+# name: p4shard
+# group: pistonlp
+# key: p4shard
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p4shard
+d'shard $
+  -- whenmod 7 3 (density (5/4)) $ -- (1)
+  within (0.5, 0.75) (iter 5) $ whenmod 3 2 (slow 2) $ slow 8 $ every 2 rev $
+  striate 128 $ s "[${1:ice} ${2:plode}]*2" -- (2) ice wtsn
+  # cutoff 441 -- 0.02 * (44100/2)
+  # resonance 0.001
+  # speed 0.7
+  # gain 0.7
+  -- # vowel "u e" -- (2)

+ 17 - 0
snippets/p5bass

@@ -0,0 +1,17 @@
+# -*- mode: snippet -*-
+# name: p5bass
+# group: pistonlp
+# key: p5bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5bass
+d'bass $
+  -- (# gain (scale 0 0.7 $ saw1)) $ -- (6)
+  -- within (0.5, 0.75) (# vowel "u o") $ -- (5), (6) delete
+  -- every 2 (density 2) $ -- (2)
+  -- density 1.6 $ -- (1)
+  -- whenmod 3 2 (density 1.6) $ -- (4) replaces (1)
+  chop 16 $ bassP $ s "[~ ${1:dubb}]"
+  # n (slow 4 "0 1")
+  # cut 1
+  -- # speed (scale 0.75 1.25 $ slow 1.3 sine1) -- (3)

+ 19 - 0
snippets/p5bass2

@@ -0,0 +1,19 @@
+# -*- mode: snippet -*-
+# name: p5bass2
+# group: pistonlp
+# key: p5bass2
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5bass2
+d'bz $
+  -- within (0, 0.5) rev $ -- (3)
+  -- whenmod 4 3 (density 1.8) $ -- (1)
+  chop 12 $ sound "[~ ~ [~ ${1:k:1}] !]/4"
+  # speed 0.9
+  -- # shape (scale 0 (1/3) $ density 3 sine1) -- (2)
+  {- -- (4)
+  # orbit 1
+  # delay 0.3
+  # delayfeedback 0.2
+  # delaytime 0.2875 --(138/60)/8
+  -}

+ 13 - 0
snippets/p5drum

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p5drum
+# group: pistonlp
+# key: p5drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5drum
+d'drum $ overlay (s "[[${1:k} ~ ~ $1] ~ [~ $1] ~]/4") $ sound "{[~ ~ ~ $1:1], [~ ${2:sn}]/2}"
+
+d'drum $ sound "{[~ ~ ~ $1:1], [~ $2]/2}"
+d'drum $ sound "{$1, [~ ~ ~ $1:1], [~ $2]/2}"
+
+d'drum $ sound "$1:1"

+ 13 - 0
snippets/p5fly

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p5fly
+# group: pistonlp
+# key: p5fly
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5fly
+let b = id -- (0) id (1) brak
+  in d'fly $ whenmod 5 3 rev $ b $
+     slow 16 $ jux ((1.5 ~>) . rev) $
+     chop 64 $ bassP $ sound "${1:fly:1}"
+     # speed 0.7
+     # shape (scale 0 0.5 $ density 2.1 saw1)

+ 16 - 0
snippets/p5gnome

@@ -0,0 +1,16 @@
+# -*- mode: snippet -*-
+# name: p5gnome
+# group: pistonlp
+# key: p5gnome
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5gnome
+let g sm f = smash 64 sm $ s "~ ${1:gnome}" # pan (f $ slow 4 sine1)
+  in d'gnome $ whenmod 5 3 (slow 1.5) $ rev $
+     stack [
+       g [0.5,1] id,
+       g [(1/2.5),1] (0.5 <~)
+       ]
+     # speed 1.2
+     # shape ((0.25 ~>) $ scale 0 0.5 $ density 3 sine1)
+     # gain 0.6

+ 9 - 0
snippets/p5perc

@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: p5perc
+# group: pistonlp
+# key: p5perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p5perc
+d'perc $ s "~ ${1:wt} $1 ${2:wtsn}/8"
+  # shape (scale 0 0.5 $ density 1.2 saw1)

+ 10 - 0
snippets/p6bass

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p6bass
+# group: pistonlp
+# key: p6bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6bass
+d'bz $ within (0, 0.5) (slow (7/6)) $
+  every 2 (0.5 <~) $ slow 8 $
+  rev . chop 32 $ bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 12 - 0
snippets/p6cymb

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p6cymb
+# group: pistonlp
+# key: p6cymb
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6cymb
+d'cymb $
+  -- density (5/4) $ whenmod 9 4 (density 1.5) $ -- (1)
+  s "[${1:cymb}*8 ~]/8"
+  # gain (scale 0.6 0.8 $ density 3.6 saw1)
+  # cut 1

+ 15 - 0
snippets/p6drum

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: p6drum
+# group: pistonlp
+# key: p6drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6drum
+d'drum $ sound "{${1:k}, [~ ~ ~ $1:1] [~ $1:1]}"
+
+d'drum $ stack [
+  sound "{$1, [~ ~ ~ $1:1] [~ $1:1]}",
+  s "[~ ${2:sn} ~ $2*2]/8"
+  ]
+
+d'drum $ sound "[[$1 $1:1]*2 [$2 $1:1 ~ $1] [~ $1:1 $1 ~] [~ $2 ~ $1]]/8"

+ 8 - 0
snippets/p6fbass

@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: p6fbass
+# group: pistonlp
+# key: p6fbass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6fbass
+d'misc $ slow 16 $ rev . chop 64 $ bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 13 - 0
snippets/p6gnome

@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: p6gnome
+# group: pistonlp
+# key: p6gnome
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6gnome
+let d = 5 -- (0) 5 (1) 3
+  in d'gnome $ iter 5 $ density (9/8) $
+     within (0, 0.5) rev $
+     smash 8 [1,2] $ s "[${1:gnome}(3,8)]/2"
+     # gain 0.8
+     # speed (scale 0.76 (0.76 + 1/d) $ slow 1.1 sine1)

+ 11 - 0
snippets/p6plode

@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: p6plode
+# group: pistonlp
+# key: p6plode
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6plode
+d'fly $ superimpose (slow (5/3) . iter 3) $
+  (# speed (scale 0.7 1.7 $ slow 1.1 sine1)) $
+  chop 32 $ s "[${1:plode}(5,8)]/8"
+  # cut 1

+ 10 - 0
snippets/p6wtsn

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p6wtsn
+# group: pistonlp
+# key: p6wtsn
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p6wtsn
+d'gnome $ (3 ~>) $ within (0.25, 0.75) rev $
+  slowspread ($) [chop 16, chop 32] $ s "[${1:wtsn}(3,8)]/2"
+  # speed (scale 0.8 1.3 $ density 1.8 sine1)

+ 10 - 0
snippets/p7bassa

@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: p7bassa
+# group: pistonlp
+# key: p7bassa
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7bassa
+d'bass $ slow 8 $
+  slowspread (\c -> rev . chop c) [12, 24] $
+  bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 14 - 0
snippets/p7bassb

@@ -0,0 +1,14 @@
+# -*- mode: snippet -*-
+# name: p7bassb
+# group: pistonlp
+# key: p7bassb
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7bassb
+let bm f = scale f (0.5 + f) $ density (5/4) sine1
+  in d'bass $
+     (# begin (bm 0)) $
+     (# end (bm 0.05)) $
+     slow 8 $
+     slowspread (\c -> rev . chop c) [12, 24] $
+     bassP $ n "[0 1]/2" # s "${1:dubb}"

+ 12 - 0
snippets/p7bassc

@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: p7bassc
+# group: pistonlp
+# key: p7bassc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7bassc
+d'bass $ slow 8 $
+  within (0.33, 0.67) (0.25 ~>) $
+  slowspread (\c -> rev . chop c) [12, 24] $
+  bassP $ n "[0 1]/2" # s "${1:dubb}"
+  # vowel "o"

+ 9 - 0
snippets/p7bz

@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: p7bz
+# group: pistonlp
+# key: p7bz
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7bz
+d'bz $ rev . chop 12 $ s "${1:bz}/4"
+  # vowel "o"

+ 18 - 0
snippets/p7drum

@@ -0,0 +1,18 @@
+# -*- mode: snippet -*-
+# name: p7drum
+# group: pistonlp
+# key: p7drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7drum
+d'drum $ whenmod 3 2 (slow (4/3)) $ s "[${1:k}*2 [${2:sn} ~ ~ ${3:wt}] $1*2 $2 [~ $1]]/5"
+
+d'drum $ every 3 (density 2) $ within (0, 0.5) (jux ((1/3) ~>)) $
+  s "[$1 [$2 ~ $1] [~ ~ $2] ~]/8"
+
+d'drum $ s "[$1 [$2 ~ $1] [~ ~ $2] ~]/8"
+
+d'drum $ s "{[$1 $1]/2, ~ $2}"
+d'drum $ s "{[[$1 ~ $1] $1]/2, ~ $2}"
+
+d'drum $ within (0, 0.5) (jux ((1/3) ~>)) $ s "[$1 [$2 ~ $1] [~ ~ $2] ~]/8"

+ 18 - 0
snippets/p7fly

@@ -0,0 +1,18 @@
+# -*- mode: snippet -*-
+# name: p7fly
+# group: pistonlp
+# key: p7fly
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7fly
+d'fly $ slow (4/3) .
+  slowspread ($) [slow 1, density (5/4)] $
+  slow 12 $
+  slowspread striate [24,36] $ sound "${1:fly:1}"
+  # gain 0.7
+  {- (1)
+  # orbit 2
+  # delay 0.6
+  # delayfeedback 0.4
+  # delaytime 0.62 --(112/60)/3
+  -- -}

+ 9 - 0
snippets/p7perc

@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: p7perc
+# group: pistonlp
+# key: p7perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7perc
+d'perc $ s "[${1:wt}*3 ~]/2"
+  # shape (scale 0 0.5 $ slow 3 saw1)

+ 15 - 0
snippets/p7shard

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: p7shard
+# group: pistonlp
+# key: p7shard
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p7shard
+d'shard $ slow 5 . chop 15 $ s "${1:ice}"
+  # gain 0.7
+  # resonance 0.4
+  # cutoff 4410 -- 0.2 * (44100/2)
+  # orbit 1
+  # delay 0.7
+  # delayfeedback 0.3
+  # delaytime 0.02 -- (0) 0.02 (1) 0.76

+ 25 - 0
snippets/p8bass

@@ -0,0 +1,25 @@
+# -*- mode: snippet -*-
+# name: p8bass
+# group: pistonlp
+# key: p8bass
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p8bass
+d'misc $ stack [
+  {- -- (1)
+  -- (p5bass)
+  every 2 (density 2) $ whenmod 3 2 (density 1.6) $
+  chop 16 $ bassP $ s "[~ ${1:dubb}]"
+  # n (slow 4 "0 1")
+  # cut 1
+  # speed (scale 0.75 1.25 $ slow 1.3 sine1),
+  (0.75 ~>) $
+  -- -}
+  -- (p4bass w/ o=id)
+  whenmod 5 3 (density (3/2) . brak) $
+  bassP $
+  rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "$1"
+  # speed 0.5
+  # cut 1
+  # end 0.5
+  ]

+ 15 - 0
snippets/p8bz

@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: p8bz
+# group: pistonlp
+# key: p8bz
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p8bz
+d'bz $ s "[[${1:ff} ${2:bz}]*2 [~ $2*2]]/2"
+  # n (slow 2 $ run 5)
+  # begin 0.7
+  # end 0.85
+  # hcutoff 882 -- 0.04 * (44100/2)
+  # hresonance 0.1
+  # shape (scale 0 0.2 $ slow (5/3) sine1)
+  # gain 0.8

+ 18 - 0
snippets/p8drum

@@ -0,0 +1,18 @@
+# -*- mode: snippet -*-
+# name: p8drum
+# group: pistonlp
+# key: p8drum
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p8drum
+d'drum $ within (0, 0.5) (superimpose ((1/3) ~>)) $ s "[${1:k} [${2:sn} ~ $1] [~ ~ $2] ~]/8"
+
+d'drum $ s "[$1*2 [$2 ~ ~ $3] [~ $1] $2 [~ $1]]/5"
+d'drum $ s "[$1 [$2 ~ ~ $3] [~ $1] $2]/4"
+
+d'drum $ s "[$1 [$2 ~ ~ $1] [~ $1] $2]/4"
+
+d'perc $ s "{${3:wt}/2, [~ ${4:wtsn}]/8}"
+
+d'drum $ s "[$1 [$2 ~ ~ $1] [~ $1*2] $2]/4"
+d'drum $ s "[$1*2 [$2 ~ ~ $1] [$1 $1*2] $2]/4"

+ 22 - 0
snippets/p8perc

@@ -0,0 +1,22 @@
+# -*- mode: snippet -*-
+# name: p8perc
+# group: pistonlp
+# key: p8perc
+# expand-env: (yas-indent-line fixed)
+# --
+-- @p8perc
+-- solo $
+d'perc $ stack [
+  {- -- (3)
+  -- (p1fly @ 2)
+  whenmod 5 2 (# vowel "i o") $ whenmod 3 1 (slow 2) $ brak $
+  slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "${1:fly}"
+  # hcutoff 1985 -- 0.09 * (44100/2)
+  # hresonance 0.06,
+  -- -}
+  -- (p1perc)
+  -- within (0.5, 1) (slow 1.5 . chop 4) $ -- (4)
+  -- whenmod 5 3 (rev) $ -- (1) (2) rev . chop 8
+  density (4/3) $
+  s "[${2:wtsn} ~ ${3:wt}]"
+  ]

+ 58 - 0
snippets/pistonlp

@@ -0,0 +1,58 @@
+# -*- mode: snippet -*-
+# name: pistonlp
+# group: pistonlp
+# key: pistonlp
+# expand-env: (yas-indent-line fixed)
+# --
+plpsetup
+p1fly
+p1drum
+p1bass
+p1perc
+p1gnome
+p1bassout
+p2drum
+p2perc
+p2bass
+p2ant
+p2sharda
+p2fly
+p2cymb
+p2shardb
+p3perc
+p3drum
+p3bz
+p3bass
+p3dubb
+p3shard
+p4perc
+p4shard
+p4drum
+p4bz
+p4bass
+p4bz2
+p5perc
+p5drum
+p5bass
+p5fly
+p5bass2
+p5gnome
+p6bass
+p6plode
+p6cymb
+p6drum
+p6fbass
+p6wtsn
+p6gnome
+p7drum
+p7shard
+p7perc
+p7bassa
+p7fly
+p7bz
+p7bassb
+p7bassc
+p8drum
+p8bz
+p8perc
+p8bass

+ 19 - 0
snippets/plpsetup

@@ -0,0 +1,19 @@
+# -*- mode: snippet -*-
+# name: plpsetup
+# group: pistonlp
+# key: plpsetup
+# expand-env: (yas-indent-line fixed)
+# --
+let bpm b = cps (b/60)
+    msil = mapM_ ($ silence)
+    bassP = (# gain 0.7) . (# hcutoff 485) . (# hresonance 0.001)
+    d'drum = d1
+    d'perc = d2
+    d'gnome = d3
+    d'bass = d4
+    d'fly = d5
+    d'bz = d6
+    d'shard = d7
+    d'misc = d8
+    d'ant = d9
+    d'cymb = d10