Kaynağa Gözat

improve notes + readme, rename bass'params -> bassP, minor fixes

Aneurin Barker Snook 8 yıl önce
ebeveyn
işleme
e76dca9208
3 değiştirilmiş dosya ile 67 ekleme ve 47 silme
  1. 3 3
      README.md
  2. 7 0
      piston.scd
  3. 57 44
      piston.tidal

+ 3 - 3
README.md

@@ -1,6 +1,6 @@
 # Anny: Piston LP
 
-Piston: minimal progressive techno built around recycled rhythms. Written to perform at algoraves in the UK, now available as a CD album and to download.
+[anny.audio](https://www.anny.audio) | [pistonlp.co.uk](http://pistonlp.co.uk)
 
 Originally performed live @ Texture, Manchester, 12th November 2015. Album released 20th November 2015.
 
@@ -12,12 +12,12 @@ _Anny is formerly Anny FM._
 
 `piston.scd` is a simple SuperCollider startup file to configure audio routing and load project samples.
 
-`piston.tidal` is the full Piston composition for Tidal Cycles. (Current version compatible with Tidal 0.8)
+`piston.tidal` is the full Piston composition for Tidal Cycles.
 
 `samples.csv` contains sample attributions. All samples are available in `samples/` directory.
 
 ## License
 
-Album recording is copyright © Aneurin "Anny" Barker Snook 2015.
+Album recording is copyright of Aneurin "Anny" Barker Snook 2015.
 
 Source code is [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/) and samples are all royalty free. Remix to your heart's content!

+ 7 - 0
piston.scd

@@ -1,3 +1,10 @@
+/*
+Anny: Piston LP
+anny.audio | pistonlp.co.uk
+
+See README.md for more information
+*/
+
 include("SuperDirt")
 
 Server.local.options.device = "Soundflower (2ch)";

+ 57 - 44
piston.tidal

@@ -2,16 +2,37 @@
 Anny: Piston LP
 anny.audio | pistonlp.co.uk
 
-Originally performed live @ Texture, Manchester, 12th November 2015
-Album released 20th November 2015
-
 See README.md for more information
+
+~ Version info ~
+Current version: 1.0
+Compatibility: Tidal Cycles 0.8 + SuperCollider 3.7.2 + SuperDirt
+Updated: 27 March 2017
+Notes: All Piston LP Tidal code is now "demystified" so all code blocks
+       are all-inclusive and can be run in-place with a minimal megalet
+       at the top of the document, serving three purposes:
+       1) to make all the code easier for any Tidal Cycles user to
+          understand and if they wish, reuse and remix
+       2) to reduce maintenance, especially when playing parts of Piston LP
+          live; this file will be my primary reference in live practice
+       2) to contribute better to the shared goal in live coding of
+          showing my working-out in live performance
+License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/
+
+~ Navigating this Tidal Cycles document ~
+I have used @tags throughout this document to mark checkpoints (Piston I,
+Piston II etc.) and 'optimal' versions of key elements of each tune that
+I have found cause to reuse in crossover tracks. For example, to search
+for/within Piston I, search the document for "@p1".
+In places where elements are reused, particularly in later tracks, a
+references is made with the format "~p1..." so you know where it all links
+up (and I know where to copy-paste future updates).
 -}
 
 let bpm b = cps (b/60)
     msil = mapM_ ($ silence)
-    bass'params = (# gain "0.7") . (# hcutoff "485") . (# hresonance "0.001")
-    bass' c = rev . chop c $ bass'params $ n "[0 1]/2" # s "dubb"
+    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,10 +45,9 @@ let bpm b = cps (b/60)
     d'cymb = d10
 
 {-
+@p1
 Anny: Piston I
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -84,10 +104,9 @@ d'perc $ s "[~ wt*4 ~ wt*2 ~]/5"
 d'drum $ overlay (3.75 ~> s "wtsn/4") $ s "[k(3,8), ~ sn]/2"
 
 {-
+@p2
 Anny: Piston II
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -101,7 +120,7 @@ d'perc $ s "wt*2"
   # vowel "[u e u a]/2"
   # end "0.15"
 
-d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bass'params $ 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"
@@ -111,7 +130,7 @@ d'ant $ slow 2 $ smash 16 [1,2] $ sound "ant:1"
   # cutoff "1764" -- 0.08 * (44100/2)
   # resonance "0.01"
 
--- ~p2sharda
+-- @p2sharda
 d'shard $ ((1%16) <~) $ chop 16 $ s "[ice [~ ice] ~ ~]/4"
   # gain "0.7"
 
@@ -126,7 +145,7 @@ d'fly $ chop 64 $ s "[fly ~ [fly ~ ~ fly] ~]/4"
 
 d'drum $ 0.5 <~ sound "[[k k:1] [sn ~ ~ k]]/2"
 
-d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bass'params $ 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"
@@ -142,7 +161,7 @@ d'perc $ s "wt*2"
   # vowel "[u e u a]/2"
   # end "0.15"
 
-d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bass'params $ 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"
@@ -155,7 +174,7 @@ d'shard $ every 2 (density 1.5) $ whenmod 5 3 (density 2) $ -- (1)
   # gain "0.7"
   # shape (scale 0.25 0.75 $ density 8 saw1)
 
-d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bass'params $ n "[0 1]/2" # s "dubb"
+d'bass $ slow 8 $ ((1%8) <~) $ chop 32 $ bassP $ n "[0 1]/2" # s "dubb"
   # speed "0.8 1.2"
   # shape (scale 0 0.5 $ density 4 sine1)
   # cut "1"
@@ -168,10 +187,9 @@ d'drum $ sound "[k [sn k:1 k:1 ~]]/2"
 d'perc $ s "~ wt*2"
 
 {-
+@p3
 Anny: Piston III
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 let p3percd = (# orbit "1") .
@@ -202,7 +220,7 @@ let v = "o i" -- (0) i (1) o i
        (4 <~) $ every 2 (0.5 <~) $
        slow 4 . b $
        rev . chop 16 $
-       bass'params $ n "[0 1]/2" # s "dubb"
+       bassP $ n "[0 1]/2" # s "dubb"
        # cut c
        # vowel v
 
@@ -210,7 +228,7 @@ d'drum $ s "{[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8, [~ sn]/2}" -- @p3drumb
 d'perc $ sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8"
 
 -- @p3bass2
-d'misc $ slow 8 $ chop 16 $ bass'params $ n "[0 1]/2" # s "dubb"
+d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
   # cut "1"
   # speed "0.2"
   # vowel "e"
@@ -237,15 +255,14 @@ d'gnome $ within (0, 0.5) rev $ chop 8 $ s "[gnome(3,8)]/2"
 -- ~p3bass w/ v="o i", c="0", b=brak
 
 {-
+@p4
 Anny: Piston IV
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
 
-solo $ d'misc $ slow 8 $ chop 16 $ bass'params $ n "[0 1]/2" # s "dubb"
+solo $ d'misc $ slow 8 $ chop 16 $ bassP $ n "[0 1]/2" # s "dubb"
   # cut "1"
   # speed "0.2"
   # vowel "e"
@@ -278,7 +295,7 @@ d'drum $ sound "[[k k:1]*2 sn k*2 [~ sn] [~ k]]/5"
 d'bass $ (0.75 ~>) $
   -- @p4bass
   whenmod 5 3 (density (3%2) . brak) $
-  bass'params $
+  bassP $
   rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
   # speed "0.5"
   # cut "1"
@@ -310,10 +327,9 @@ msil [d'perc,d'bass,d'shard]
 -- ~p4bz w/ (4)
 
 {-
+@p5
 Anny: Piston V
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -333,7 +349,7 @@ 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 $ bass'params $ s "[~ dubb]"
+d'bass $ chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut "1"
 
@@ -341,7 +357,7 @@ d'bass $ chop 16 $ bass'params $ s "[~ dubb]"
 let b = id -- (0) id (1) brak
     in d'fly $ whenmod 5 3 rev $ b $
        slow 16 $ jux ((1.5 ~>) . rev) $
-       chop 64 $ bass'params $ sound "fly:1"
+       chop 64 $ bassP $ sound "fly:1"
        # speed "0.7"
        # shape (scale 0 0.5 $ density 2.1 saw1)
 
@@ -350,7 +366,7 @@ 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)
-  chop 16 $ bass'params $ s "[~ dubb]"
+  chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut "1"
   -- # speed (scale 0.75 1.25 $ slow 1.3 sine1) -- (3)
@@ -404,10 +420,9 @@ msil [d'perc, d'bz]
 d'gnome silence
 
 {-
+@p6
 Anny: Piston VI
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -417,7 +432,7 @@ 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 $ bass'params $ s "[~ dubb]"
+  chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut "1"
   # speed (scale 0.75 1.25 $ slow 1.3 sine1) -- (3)
@@ -463,7 +478,7 @@ d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1], [~ sn ~ sn*2]/8}" -- @p6drum-sn
 d'bass $ (0.6 ~>) $
   -- ~p4bass
   whenmod 5 3 (density (3%2) . brak) $
-  bass'params $
+  bassP $
   rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
   # speed "0.5"
   # cut "1"
@@ -486,7 +501,7 @@ d'drum $ sound "[[k k:1]*2 [sn k:1 ~ k] [~ k:1 k ~] [~ sn ~ k]]/8" -- @p6drumslo
 -- ~p5fly
 d'fly $ whenmod 5 3 rev $
   slow 16 $ jux ((1.5 ~>) . rev) $
-  chop 64 $ bass'params $ sound "fly:1"
+  chop 64 $ bassP $ sound "fly:1"
   # speed "0.7"
   # shape (scale 0 0.5 $ density 2.1 saw1)
 
@@ -505,10 +520,9 @@ d'drum $ sound "{k, [~ ~ ~ k:1] [~ k:1], [~ sn ~ sn*2]/8}"
 msil [d'perc, d'fly, d'bz]
 
 {-
+@p7
 Anny: Piston VII
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -538,7 +552,7 @@ d'perc $ s "[wt*3 ~]/2"
 -- @p7bassa
 d'bass $ slow 8 $
   slowspread ($) [rev.chop 12, rev.chop 24] $
-  bass'params $ n "[0 1]/2" # s "dubb"
+  bassP $ n "[0 1]/2" # s "dubb"
 
 -- @p7fly
 d'fly $ slow (4%3) .
@@ -565,7 +579,7 @@ let bm f = scale f (0.5 + f) $ density (5%4) sine1
      (# end (bm 0.05)) $
      slow 8 $
      slowspread ($) [rev.chop 12, rev.chop 24] $
-     bass'params $ n "[0 1]/2" # s "dubb"
+     bassP $ n "[0 1]/2" # s "dubb"
 
 -- ~p7shard w/ (0)
 
@@ -580,7 +594,7 @@ msil [d'bass, d'shard]
 d'bass $ slow 8 $
   within (0.33, 0.67) (0.25 ~>) $
   slowspread ($) [rev.chop 12, rev.chop 24] $
-  bass'params $ n "[0 1]/2" # s "dubb"
+  bassP $ n "[0 1]/2" # s "dubb"
   # vowel "o"
 
 d'bass silence
@@ -588,10 +602,9 @@ d'drum $ within (0, 0.5) (jux ((1%3) ~>)) $ s "[k [sn ~ k] [~ ~ sn] ~]/8"
 d'bz silence
 
 {-
+@p8
 Anny: Piston VIII
 anny.audio | pistonlp.co.uk
-
-See README.md
 -}
 
 bpm 138
@@ -631,7 +644,7 @@ d'misc $ chop 64 $ s "[fly ~ [fly ~ ~ fly] ~]/4"
 
 -- ~p5bass
 d'shard $ every 2 (density 2) $ whenmod 3 2 (density 1.6) $
-  chop 16 $ bass'params $ s "[~ dubb]"
+  chop 16 $ bassP $ s "[~ dubb]"
   # n (slow 4 "0 1")
   # cut "1"
   # speed (scale 0.75 1.25 $ slow 1.3 sine1)
@@ -666,14 +679,14 @@ msil [d'fly, d'bz, d'shard, d'misc, d'ant, d'cymb]
 d'misc $ stack [
   {- (1) ~p5bass
   every 2 (density 2) $ whenmod 3 2 (density 1.6) $
-  chop 16 $ bass'params $ s "[~ dubb]"
+  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
   whenmod 5 3 (density (3%2) . brak) $
-  bass'params $
+  bassP $
   rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb"
   # speed "0.5"
   # cut "1"
@@ -697,7 +710,7 @@ d'shard $ whenmod 7 3 (density (5%4)) $
 let b = brak
     in d'fly $ whenmod 5 3 rev $ b $
        slow 16 $ jux ((1.5 ~>) . rev) $
-       chop 64 $ bass'params $ sound "fly:1"
+       chop 64 $ bassP $ sound "fly:1"
        # speed "0.7"
        # shape (scale 0 0.5 $ density 2.1 saw1)
 
@@ -721,7 +734,7 @@ let d = 5 -- (0) 5 (1) 3
      # speed (scale 0.76 (0.76 + 1/d) $ slow 1.1 sine1)
 
 -- ~p3shard
-d'bz $ -- within (0.5, 1) (density 2) $ (1)
+d'bz $ -- within (0.5, 1) (density 2) $ -- (1)
   iter 4 . density 2 $ (0.5 <~) $ ((1%16) <~) $
   chop 16 $ s "[ice [~ ice] ~ ~]/4"
   # vowel "e o"