Compare commits

...
10 Commits
24 changed files with 347 additions and 48 deletions
+9 -1
View File
@@ -12,10 +12,18 @@ Original song "Haddeo" from the album "[The Slug and the Snarl](http://heskinrad
`haddeo.scd` is a simple SuperCollider startup file to configure audio routing and load project samples. `haddeo.scd` is a simple SuperCollider startup file to configure audio routing and load project samples.
`haddeo.tidal` is the full Piston composition for Tidal Cycles. `haddeo.tidal` is the full Haddeo (Algorave Remix) composition for Tidal Cycles.
`samples.csv` contains sample attributions. All samples are available in `samples/` directory. `samples.csv` contains sample attributions. All samples are available in `samples/` directory.
## Snippets
The main `haddeo.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 `hsetup` snippet (which contains the project setup) and a `haddeo` 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 ## License
- Source code: [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/) - Source code: [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/)
+42 -38
View File
@@ -2,8 +2,11 @@
Anny: Haddeo (Algorave Remix) Anny: Haddeo (Algorave Remix)
anny.audio anny.audio
Current version: 1.0.1 Current version: 1.2.0
Compatibility: Tidal Cycles 1.0-dev + SuperDirt 1.0-dev + SuperCollider 3.8 Compatibility:
Tidal Cycles 1.0-dev (cb070d6)
SuperDirt 1.0-dev (1c526bf)
SuperCollider 3.8
License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/ License: CC-BY-SA https://creativecommons.org/licenses/by-sa/4.0/
See README.md for more information See README.md for more information
@@ -43,8 +46,8 @@ d'drum $ stack [
-- @hic1 -- @hic1
d'wax $ slow 16 . striate 256 $ s "icarus" d'wax $ slow 16 . striate 256 $ s "icarus"
-- ~hdrum0 @ 1 -- hdrum0 @ 1
-- ~hdrum0 @ 2 -- hdrum0 @ 2
-- @hic2 -- @hic2
d'wax $ retrig $ slow 20 $ sound "icarus:1" d'wax $ retrig $ slow 20 $ sound "icarus:1"
@@ -55,7 +58,7 @@ d'wax $ retrig $ slow 20 $ sound "icarus:1"
d'nim $ d'nim $
{- -- (1) {- -- (1)
superimpose (iter 4 -- (3) iter 6 superimpose (iter 4 -- (3) iter 6
-- .(# speed (scale (2/3) ((2/3)+0.8) $ slow 2.5 sine1)) -- (2) -- .(# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) -- (2)
) $ -- -} ) $ -- -}
slow 16 . striate 256 $ n "[0 1]/2" # s "nimble" slow 16 . striate 256 $ n "[0 1]/2" # s "nimble"
@@ -70,10 +73,10 @@ d'drum $ stack [
-- n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" -- (1) -- n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" -- (1)
] ]
-- ~hdrum1 @ 1 -- hdrum1 @ 1
-- ~hic1 -- hic1
-- ~drum1 @ 2 -- hdrum1 @ 2
-- @hsnoo -- @hsnoo
d'fx3 $ d'fx3 $
@@ -83,7 +86,7 @@ d'fx3 $
# gain 0.8 # gain 0.8
# cut 10 # cut 10
-- ~hnim1 @ 1 -- hnim1 @ 1
-- @hdorr1 -- @hdorr1
d'fx1 $ -- mt $ -- (1) d'fx1 $ -- mt $ -- (1)
@@ -93,10 +96,10 @@ d'fx1 $ -- mt $ -- (1)
# hcutoff 200 # hcutoff 200
# gain 0.8 # gain 0.8
-- ~hnim1 @ 2 -- hnim1 @ 2
-- ~hdrum1 @ 3 -- hdrum1 @ 3
-- ~ hnim1 @ 3 -- hnim1 @ 3
-- pt 2 transition -- pt 2 transition
@@ -109,11 +112,11 @@ d'drum $ mt $ stack [
] ]
d'nim $ superimpose (iter 6 . d'nim $ superimpose (iter 6 .
(# speed (scale (2/3) ((2/3)+0.8) $ slow 2.5 sine1)) . (# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) .
(# nudge 0)) $ (# nudge 0)) $
mt $ slow 16 . striate 256 $ n "[0 1]/2" # s "nimble" mt $ slow 16 . striate 256 $ n "[0 1]/2" # s "nimble"
-- ~hdorr1 @ 1 (mt) -- hdorr1 @ 1 (mt)
-- pt 2: offbeat -- pt 2: offbeat
@@ -123,7 +126,7 @@ msil [d'wax, d'fx2, d'fx3]
d'nim $ d'nim $
{- -- (4) {- -- (4)
superimpose (iter 4 . superimpose (iter 4 .
(# speed (scale (2/3) ((2/3)+0.8) $ slow 2.5 sine1)) . (# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) .
(# nudge 0)) $ -- -} (# nudge 0)) $ -- -}
mt $ mt $
-- every 3 (density 2) $ -- (3) -- every 3 (density 2) $ -- (3)
@@ -131,12 +134,12 @@ d'nim $
-- whenmod 5 3 rev $ -- (1) -- whenmod 5 3 rev $ -- (1)
slow 16 . striate 256 $ n "[0 1]/2" # s "nimble" slow 16 . striate 256 $ n "[0 1]/2" # s "nimble"
-- ~hnim2 @ 1 -- hnim2 @ 1
-- ~hnim2 @ 2 -- hnim2 @ 2
d'fx2 $ mt $ 1.75 ~> s "tubal/4" d'fx2 $ mt $ 1.75 ~> s "tubal/4"
-- ~hnim2 @ 3 -- hnim2 @ 3
-- @hduck -- @hduck
d'fx2 $ mt $ d'fx2 $ mt $
@@ -147,7 +150,7 @@ d'fx2 $ mt $
# speed 0.9 # speed 0.9
] ]
-- ~hnim2 @ 4 -- hnim2 @ 4
-- intermission -- intermission
@@ -165,10 +168,11 @@ let s = striate 16
] ]
# gain 0.9 # gain 0.9
-- ~hnim2f @ 0 keeping superimpose -- hnim2f @ 0 keeping superimpose
-- pt 3: funk -- pt 3: funk
-- @hdrum23
d'drum $ n "0*4" # s "kit" # gain 0.9 -- (1) s "drum" d'drum $ n "0*4" # s "kit" # gain 0.9 -- (1) s "drum"
-- @hdrum3 -- @hdrum3
@@ -185,7 +189,7 @@ d'drum $ swing 0.14 $ stack [
d'nim $ d'nim $
{- -- (4) {- -- (4)
superimpose (iter 4 superimpose (iter 4
.(# speed (scale (2/3) ((2/3)+0.8) $ slow 2.5 sine1)) -- (5) .(# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) -- (5)
) $ -- -} ) $ -- -}
{- -- (2) {- -- (2)
every' 16 1 ((# vowel "o u") every' 16 1 ((# vowel "o u")
@@ -197,12 +201,12 @@ d'nim $
-- whenmod 16 12 (# vowel "[a i]/3") $ -- (1) -- whenmod 16 12 (# vowel "[a i]/3") $ -- (1)
(1 ~>) $ slow 16 . striate 256 $ n "[0 1]/2" # s "nimble" (1 ~>) $ slow 16 . striate 256 $ n "[0 1]/2" # s "nimble"
-- ~hnim3 @ 1 -- hnim3 @ 1
-- ~hnim3 @ 2 -- hnim3 @ 2
-- ~hdrum3 @ 1 -- hdrum3 @ 1
-- ~hdrum3 @ 2 -- hdrum3 @ 2
-- @hbass2 -- @hbass2
d'bass2 $ swing 0.14 $ d'bass2 $ swing 0.14 $
@@ -218,13 +222,13 @@ d'fx1 $
# hcutoff 200 # hcutoff 200
# gain 0.8 # gain 0.8
-- ~hduck w/o mt -- hduck w/o mt
-- ~hdorr2 @ 1 -- hdorr2 @ 1
-- ~hic1 -- hic1
-- ~hsnoo -- hsnoo
-- ~hnim3 @ 4 -- hnim3 @ 4
-- @hdrum4 -- @hdrum4
d'drum $ swing 0.14 $ -- mt $ -- (3) d'drum $ swing 0.14 $ -- mt $ -- (3)
@@ -237,8 +241,8 @@ d'drum $ swing 0.14 $ -- mt $ -- (3)
# gain 0.85 # gain 0.85
] ]
-- ~hnim3 @ 5 -- hnim3 @ 5
-- ~hdrum4 @ 1 -- hdrum4 @ 1
-- outro -- outro
@@ -266,14 +270,14 @@ d'nim $ -- mt $ -- (2)
d'fx3 $ 3 ~> n "[0 1]/8" # s "duon" d'fx3 $ 3 ~> n "[0 1]/8" # s "duon"
# gain 0.9 # gain 0.9
-- ~hnim4 @ 1 -- hnim4 @ 1
-- ~hdrum4 @ 2 -- hdrum4 @ 2
msil [d'bass, d'bass2, d'hi, d'fx1, d'fx3] msil [d'bass, d'bass2, d'hi, d'fx1, d'fx3]
-- ~hic1 -- hic1
-- ~hic2 -- hic2
-- ~hdrum4 @ 3 w/ mt -- hdrum4 @ 3 w/ mt
-- ~hnim4 @ 2 w/ mt -- hnim4 @ 2 w/ mt
hush hush
+27
View File
@@ -0,0 +1,27 @@
# -*- mode: snippet -*-
# name: haddeo
# group: haddeo
# key: haddeo
# expand-env: (yas-indent-line fixed)
# --
hsetup
hdrum0
hic1
hic2
hnim1
hdrum1
hsnoo
hdorr1
hdrum2
hnim2
hduck
hbass
hdrum23
hdrum3
hnim3
hbass2
hdorr2
hdrum4
hhi
hnim4
hduon
+14
View File
@@ -0,0 +1,14 @@
# -*- mode: snippet -*-
# name: hbass
# group: haddeo
# key: hbass
# expand-env: (yas-indent-line fixed)
# --
-- @hbass
let s = striate 16
in d'bass $
slow 8 $ stack [
s $ sound "${1:bass}",
s $ sound "${2:sine}"
]
# gain 0.9
+11
View File
@@ -0,0 +1,11 @@
# -*- mode: snippet -*-
# name: hbass2
# group: haddeo
# key: hbass2
# expand-env: (yas-indent-line fixed)
# --
-- @hbass2
d'bass2 $ swing 0.14 $
n "[~ [~ 1] [~!! 0] [~ 0 1 ~]]/4" # s "${1:bass2}"
# speed (0.5 ~> "[2 1]")
# gain 0.82
+13
View File
@@ -0,0 +1,13 @@
# -*- mode: snippet -*-
# name: hdorr1
# group: haddeo
# key: hdorr1
# expand-env: (yas-indent-line fixed)
# --
-- @hdorr1
d'fx1 $ -- mt $ -- (1)
(2 ~>) $ chop 16 $
s "${1:dorr}/4"
# hresonance 0.05
# hcutoff 200
# gain 0.8
+13
View File
@@ -0,0 +1,13 @@
# -*- mode: snippet -*-
# name: hdorr2
# group: haddeo
# key: hdorr2
# expand-env: (yas-indent-line fixed)
# --
-- @hdorr2
d'fx1 $
-- superimpose (slow 2) $ -- (1)
(2 ~>) $ chop 16 $ s "${1:dorr}/4"
# hresonance 0.05
# hcutoff 200
# gain 0.8
+12
View File
@@ -0,0 +1,12 @@
# -*- mode: snippet -*-
# name: hdrum0
# group: haddeo
# key: hdrum0
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum0
d'drum $ stack [
n "1/4" # s "${1:drum}" -- (2) remove
-- n "[1*2, 0*8]/8" # s "$1", -- (2)
-- n "[~ 0]" # s "${2:kit}" -- (1)
]
+14
View File
@@ -0,0 +1,14 @@
# -*- mode: snippet -*-
# name: hdrum1
# group: haddeo
# key: hdrum1
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum1
d'drum $ stack [
n "[1*2, 0*8, [~!! [~!! 0] ! ~!!]]/8" # s "${1:drum}",
-- whenmod 3 2 (density 2) $ -- (3)
-- withmod 11 5 0.5 1 (density 2) $ -- (2)
n "~ 0" # s "${2:kit}"
-- n "[[~ 0] [[2!! ~]/4 0]]/2" # s "$2" -- (1)
]
+13
View File
@@ -0,0 +1,13 @@
# -*- mode: snippet -*-
# name: hdrum2
# group: haddeo
# key: hdrum2
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum2
d'drum $ mt $ stack [
n "[1*2, 0*8, [~!! [~!! 0] ! ~!!]]/8" # s "${1:drum}",
whenmod 3 2 (density 2) $
withmod 11 5 0.5 1 (density 2) $
n "[[~ 0] [[2!! ~]/4 0]]/2" # s "${2:kit}"
]
+8
View File
@@ -0,0 +1,8 @@
# -*- mode: snippet -*-
# name: hdrum23
# group: haddeo
# key: hdrum23
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum23
d'drum $ n "0*4" # s "${2:kit}" # gain 0.9 -- (1) s "${1:drum}"
+15
View File
@@ -0,0 +1,15 @@
# -*- mode: snippet -*-
# name: hdrum3
# group: haddeo
# key: hdrum3
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum3
d'drum $ swing 0.14 $ stack [
n "[1*2, 0*8, [~!! [~!! 0] ! ~!!]]/8" # s "${1:drum}",
whenmod 3 2 (density 2) $
withmod 11 5 0.5 1 (density 2) $
n "[[~ 0] [[2!! ~]/4 0]]/2" # s "${3:kit}"
-- n "[~ 1]/2" # s "${2:sn}" # gain 0.85 -- (1)
-- n "[~ [1 0/8 1/2 0/2]]/2" # s "$2" # gain 0.85 -- (2)
]
+16
View File
@@ -0,0 +1,16 @@
# -*- mode: snippet -*-
# name: hdrum4
# group: haddeo
# key: hdrum4
# expand-env: (yas-indent-line fixed)
# --
-- @hdrum4
d'drum $ swing 0.14 $ -- mt $ -- (3)
stack [
n "[1*2, 0*8, [[~ 0] ~! [~!! 0] [~! 0!] ~!!]]/8" # s "${1:drum}",
-- every' 16 16 (const $ sound "$3:3") $ -- (2)
-- n "[~ 0]" # s "$3", -- (1)
n "[[~ 0] [[2!! ~]/4 0]]/2" # s "${3:kit}", -- (1) remove
n "[~ [1 0/8 1/2 0/2]]/2" # s "${2:sn}"
# gain 0.85
]
+14
View File
@@ -0,0 +1,14 @@
# -*- mode: snippet -*-
# name: hduck
# group: haddeo
# key: hduck
# expand-env: (yas-indent-line fixed)
# --
-- @hduck
d'fx2 $ mt $
stack [
1.75 ~> s "${1:tubal}/4",
(3.75 ~>) $ chop 16 $ s "${2:duck}/4"
# gain 0.6
# speed 0.9
]
+9
View File
@@ -0,0 +1,9 @@
# -*- mode: snippet -*-
# name: hduon
# group: haddeo
# key: hduon
# expand-env: (yas-indent-line fixed)
# --
-- @hduon
d'fx3 $ 3 ~> n "[0 1]/8" # s "${1:duon}"
# gain 0.9
+16
View File
@@ -0,0 +1,16 @@
# -*- mode: snippet -*-
# name: hhi
# group: haddeo
# key: hhi
# expand-env: (yas-indent-line fixed)
# --
-- @hhi
d'hi $
swing 0.14 $
every 3 rev $
whenmod 12 8 (0.5 <~) $
(0.5 ~>) $
slow 8 $
gap 64 $
n "[0 1]/2" # s "${1:nimble}"
# speed ((-4+).(*(-1)) <\$> density 1.1 sine1)
+8
View File
@@ -0,0 +1,8 @@
# -*- mode: snippet -*-
# name: hic1
# group: haddeo
# key: hic1
# expand-env: (yas-indent-line fixed)
# --
-- @hic1
d'wax $ slow 16 . striate 256 $ s "${1:icarus}"
+8
View File
@@ -0,0 +1,8 @@
# -*- mode: snippet -*-
# name: hic2
# group: haddeo
# key: hic2
# expand-env: (yas-indent-line fixed)
# --
-- @hic2
d'wax $ retrig $ slow 20 $ sound "${1:icarus}:1"
+13
View File
@@ -0,0 +1,13 @@
# -*- mode: snippet -*-
# name: hnim1
# group: haddeo
# key: hnim1
# expand-env: (yas-indent-line fixed)
# --
-- @hnim1
d'nim $
{- -- (1)
superimpose (iter 4 -- (3) iter 6
-- .(# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) -- (2)
) $ -- -}
slow 16 . striate 256 $ n "[0 1]/2" # s "${1:nimble}"
+17
View File
@@ -0,0 +1,17 @@
# -*- mode: snippet -*-
# name: hnim2
# group: haddeo
# key: hnim2
# expand-env: (yas-indent-line fixed)
# --
-- @hnim2
d'nim $
{- -- (4)
superimpose (iter 4 .
(# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) .
(# nudge 0)) $ -- -}
mt $
-- every 3 (density 2) $ -- (3)
-- every' 2 2 (within (0, 0.5) (const silence)) $ -- (2)
-- whenmod 5 3 rev $ -- (1)
slow 16 . striate 256 $ n "[0 1]/2" # s "${1:nimble}"
+21
View File
@@ -0,0 +1,21 @@
# -*- mode: snippet -*-
# name: hnim3
# group: haddeo
# key: hnim3
# expand-env: (yas-indent-line fixed)
# --
-- @hnim3
d'nim $
{- -- (4)
superimpose (iter 4
.(# speed (scale 0.8 (0.8+(2/3)) $ slow 2.5 sine1)) -- (5)
) $ -- -}
{- -- (2)
every' 16 1 ((# vowel "o u")
{- -- (3)
.(# orbit 1) -- opt. remove to delay all the things
.(# delay 0.5).(# delayfeedback 0.6).(# delaytime 0.25)
-- -}
) $ -- -}
-- whenmod 16 12 (# vowel "[a i]/3") $ -- (1)
(1 ~>) $ slow 16 . striate 256 $ n "[0 1]/2" # s "${1:nimble}"
+12
View File
@@ -0,0 +1,12 @@
# -*- mode: snippet -*-
# name: hnim4
# group: haddeo
# key: hnim4
# expand-env: (yas-indent-line fixed)
# --
-- @hnim4
d'nim $ -- mt $ -- (2)
(0.25 ~>) $
whenmod 4 2 (const silence) $
slow 16 . striate 256 $ n "[0 1]/2" # s "${1:nimble}"
-- # vowel "o" -- (1)
+9 -9
View File
@@ -1,11 +1,15 @@
-- megalet for haddeo.tidal # -*- mode: snippet -*-
# name: hsetup
# group: haddeo
# key: hsetup
# expand-env: (yas-indent-line fixed)
# --
let bpm b = cps (b/60) let bpm b = cps (b/60)
withmod a b c d = (whenmod a b . within (c, d)) withmod a b c d = (whenmod a b . within (c, d))
every' n o f = when ((== (o-1)) . (`mod` n)) f every' n o f = when ((== (o-1)) . (\`mod\` n)) f
msil = mapM_ ($ silence) msil = mapM_ ($ silence)
tmod s e = (# nudge (scale 0 s $ fmap (**e) saw1)) tmod s e = (# nudge (scale 0 s $ fmap (**e) saw1))
swing a = within (0.1, 0.4) (a ~>) . within (0.6, 0.9) (a ~>) swing a = within (0.1, 0.4) (a ~>) . within (0.6, 0.9) (a ~>)
swing' = swing 0.14 --0.05
d'drum = d1 d'drum = d1
d'bass = d3 d'bass = d3
d'bass2 = d2 d'bass2 = d2
@@ -15,10 +19,6 @@ let bpm b = cps (b/60)
d'fx1 = d8 d'fx1 = d8
d'fx2 = d9 d'fx2 = d9
d'fx3 = d10 d'fx3 = d10
nim'osc = (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) -- given bpm = 105
nim'del = (# orbit "1") .
(# delay "0.5") .
(# delayfeedback "0.6") .
(# delaytime "0.25")
tmod' s e = tmod (s*(1/(105/60))) e tmod' s e = tmod (s*(1/(105/60))) e
mt s d i = slow s $ tmod' 0.5 3 $ density d $ i mt i = slow 16 $ tmod' 0.5 3 $ density 16 $ i
+13
View File
@@ -0,0 +1,13 @@
# -*- mode: snippet -*-
# name: hsnoo
# group: haddeo
# key: hsnoo
# expand-env: (yas-indent-line fixed)
# --
-- @hsnoo
d'fx3 $
(1.5 ~>) $
slow 4 $ chop 48 $
sound (samples "${1:snoo}" <\$> slow 7 $ run 7)
# gain 0.8
# cut 10