diff --git a/README.md b/README.md index bc0f0a6..8f2a98f 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,14 @@ First performed live @ ODI Leeds, 29th April 2016. `samples.csv` contains sample attributions. All samples are available in `samples/` directory. +## Snippets + +The main `juliese.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 `jsetup` snippet (which contains the project setup) and a `juliese` 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/) diff --git a/juliese.tidal b/juliese.tidal index f35cc80..0bd2ee7 100644 --- a/juliese.tidal +++ b/juliese.tidal @@ -2,7 +2,7 @@ Anny: Juliese 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/ diff --git a/snippets/jbass b/snippets/jbass new file mode 100644 index 0000000..cedf88f --- /dev/null +++ b/snippets/jbass @@ -0,0 +1,15 @@ +# -*- mode: snippet -*- +# name: jbass +# group: juliese +# key: jbass +# expand-env: (yas-indent-line fixed) +# -- +-- @jbass +d'bass $ + -- slowspread (\x -> within (0.5, 1) (x)) [id, slow 2 . brak] $ -- (4) + -- whenmod 4 2 (density 3) $ -- (3) + -- whenmod 3 2 (slow 2) $ -- (2) + sound "[[vb vb:1] ~]/2" + # end (slow 1.4 "0.2 0.4") + # vowel "e o" + -- # speed (slow 2.5 "1 -1") -- (1) diff --git a/snippets/jdrum b/snippets/jdrum new file mode 100644 index 0000000..c22c841 --- /dev/null +++ b/snippets/jdrum @@ -0,0 +1,12 @@ +# -*- mode: snippet -*- +# name: jdrum +# group: juliese +# key: jdrum +# expand-env: (yas-indent-line fixed) +# -- +-- @jdrum +d'drum $ -- overlay ((1 ~>) $ s "cy/8") $ -- (3), (4) remove + -- overlay ((0.5 ~>) $ s "sn/2") $ -- (2) + -- every' 8 8 (overlay $ (0.32 ~>) $ s "k*2") $ -- (1) + -- every' 12 2 (density 3) $ -- (5) + s "k" diff --git a/snippets/jdrum2 b/snippets/jdrum2 new file mode 100644 index 0000000..4305e13 --- /dev/null +++ b/snippets/jdrum2 @@ -0,0 +1,11 @@ +# -*- mode: snippet -*- +# name: jdrum2 +# group: juliese +# key: jdrum2 +# expand-env: (yas-indent-line fixed) +# -- +-- @jdrum2 +d'drum $ stack [ + every' 8 7 (overlay $ (0.32 ~>) $ s "k") $ s "[k ~ k*2 ~]/4", + every' 16 16 (overlay $ (0.82 ~>) $ s "sn") $ (1 ~>) $ s "sn/2" + ] diff --git a/snippets/jeg b/snippets/jeg new file mode 100644 index 0000000..3159fa1 --- /dev/null +++ b/snippets/jeg @@ -0,0 +1,15 @@ +# -*- mode: snippet -*- +# name: jeg +# group: juliese +# key: jeg +# expand-env: (yas-indent-line fixed) +# -- +-- @jeg +d'eg $ -- (0.18 <~) $ -- (4) + -- every 2 (const silence) $ -- (4), (5) remove + -- (# speed (scale 0.8 1.3 $ slow 4 saw1)) $ -- (2) + density 0.25 $ -- (3) 0.245 + -- slowspread density [1, 2, 0.5, 2] $ -- (1) + gap 128 $ s "eg*2" + # cut 4 + # gain 0.8 diff --git a/snippets/jgt b/snippets/jgt new file mode 100644 index 0000000..08f1987 --- /dev/null +++ b/snippets/jgt @@ -0,0 +1,14 @@ +# -*- mode: snippet -*- +# name: jgt +# group: juliese +# key: jgt +# expand-env: (yas-indent-line fixed) +# -- +-- @jgt +d'gt $ -- density 0.98 $ -- (2) + every 2 (within (0, 0.5) (0.07 <~)) $ (0.07 ~>) $ + chop 128 $ + s "[gt [~ gt] ! ~]/2" + # cut 5 + # gain 0.87 + -- # speed (scale 1 1.25 $ slow 1.95 sinewave1) -- (1) diff --git a/snippets/jpc b/snippets/jpc new file mode 100644 index 0000000..427ae34 --- /dev/null +++ b/snippets/jpc @@ -0,0 +1,15 @@ +# -*- mode: snippet -*- +# name: jpc +# group: juliese +# key: jpc +# expand-env: (yas-indent-line fixed) +# -- +-- @jpc +d'pc $ + -- whenmod 7 5 (density 1.25) $ -- (3) + -- slowspread ($) [rev, id, brak, (0.25 ~>), id] $ -- (2) + -- slowspread (\x -> within x (slow 1.5)) [(0.25, 0.5), (0.75, 1), (0.25, 0.75)] $ -- (1) + slow 16 $ gap 48 $ sound "pc:1" + # gain 0.7 + # cut 7 + # speed "[1 0.7]" diff --git a/snippets/jpcl b/snippets/jpcl new file mode 100644 index 0000000..eaa5caf --- /dev/null +++ b/snippets/jpcl @@ -0,0 +1,11 @@ +# -*- mode: snippet -*- +# name: jpcl +# group: juliese +# key: jpcl +# expand-env: (yas-indent-line fixed) +# -- +-- @jpcl +d'pcl $ -- superimpose (slow (10/9) . rev) $ -- (1) + slow 16 . gap 64 $ s "pclow" + # gain 0.8 + -- # speed "1 1.5" -- (2) diff --git a/snippets/jperc b/snippets/jperc new file mode 100644 index 0000000..673dc5e --- /dev/null +++ b/snippets/jperc @@ -0,0 +1,15 @@ +# -*- mode: snippet -*- +# name: jperc +# group: juliese +# key: jperc +# expand-env: (yas-indent-line fixed) +# -- +-- @jperc +d'perc $ + -- iter 4 $ -- (4) + -- (# pan (density 16 "0.25 0.75")) $ -- (3) + -- whenmod 16 15 (density 3) $ -- (1) + smash 16 [0.25, 0.5] $ + -- every 3 (append $ sound "hh:1 hh") $ -- (2) + sound "hh hh:2" + # gain 0.6 diff --git a/snippets/jsetup b/snippets/jsetup new file mode 100644 index 0000000..77f79ea --- /dev/null +++ b/snippets/jsetup @@ -0,0 +1,18 @@ +# -*- mode: snippet -*- +# name: jsetup +# group: juliese +# key: jsetup +# expand-env: (yas-indent-line fixed) +# -- +let bpm b = cps (b/60) + every' n o f = when ((== (o-1)) . (\`mod\` n)) f + msil = mapM_ ($ silence) + d'drum = d1 + d'perc = d2 + d'bass = d3 + d'eg = d4 + d'gt = d5 + d'udu = d6 + d'pc = d7 + d'pcl = d8 + d'wbass = d9 diff --git a/snippets/judu b/snippets/judu new file mode 100644 index 0000000..523d381 --- /dev/null +++ b/snippets/judu @@ -0,0 +1,15 @@ +# -*- mode: snippet -*- +# name: judu +# group: juliese +# key: judu +# expand-env: (yas-indent-line fixed) +# -- +-- @judu +d'udu $ + -- (every' 5 3 $ brak) $ -- (3) + -- (every' 3 2 . sometimesBy 0.5 $ density (4/3)) $ -- (1) + -- (whenmod 7 5 $ trunc (5/6)) $ -- (2) + slow 4 . chop 128 $ + sound (samples "udu" (slow 4 $ irand 4)) + # gain 0.8 + # cut 6 diff --git a/snippets/juliese b/snippets/juliese new file mode 100644 index 0000000..a59759a --- /dev/null +++ b/snippets/juliese @@ -0,0 +1,17 @@ +# -*- mode: snippet -*- +# name: juliese +# group: juliese +# key: juliese +# expand-env: (yas-indent-line fixed) +# -- +jsetup +jdrum +jbass +jperc +judu +jwbass +jeg +jpc +jgt +jdrum2 +jpcl diff --git a/snippets/jwbass b/snippets/jwbass new file mode 100644 index 0000000..9e6661b --- /dev/null +++ b/snippets/jwbass @@ -0,0 +1,16 @@ +# -*- mode: snippet -*- +# name: jwbass +# group: juliese +# key: jwbass +# expand-env: (yas-indent-line fixed) +# -- +-- @jwbass +d'wbass $ -- (sometimesBy 0.6 $ superimpose (rev . slow (5/4))) $ -- (5) + -- every' 4 4 (0.32 ~>) $ -- (2) + chop 16 $ + sound "[wb wb:1 ~ ~]/4" + -- sound "[wb [wb:1 wb:2] ~ ~]/4" -- (1) + -- sound "[wb [wb:1 wb:2] ~ [wb:1 wb:2]]/4" -- (2) + -- sound "[wb [wb:1 wb:2] ~ [[wb:1 wb:1/2] wb:2]]/4" -- (4) + # gain 0.9 + -- # speed "[1 1 2]/3" -- (3)