diff --git a/haddeo.tidal b/haddeo.tidal index 31f9724..a56ade6 100644 --- a/haddeo.tidal +++ b/haddeo.tidal @@ -4,6 +4,7 @@ let every' n o f = when ((== (o-1)) . (`mod` n)) f let modtempo s e = (# nudge (scale 0 s $ fmap (**e) saw1)) let mt s d i = slow s . modtempo 0.3 3 $ density d $ i +let msil = mapM_ ($ silence) -- original bpm = 105 bpm 105 @@ -15,6 +16,7 @@ d1 $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" d1 $ mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" +d2 $ n "[~ [0 2]/2]" # s "kit" d2 $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d2 $ @@ -102,6 +104,16 @@ d4 $ whenmod 5 3 rev $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" +-- bass + +d9 $ +-- (# speed "[1 1.2]") $ + (0.5 ~>) $ slow 8 $ stack [ + striate 16 $ sound "bass", + striate 16 $ sound "sine" + ] + # gain "0.9" + -- something of a structure starting to come together here d1 $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" @@ -334,8 +346,9 @@ everything above is scratch let d'drum = d1 d'kit = d2 d'wax = d3 - d'bass = d4 - d'bass2 = d5 + d'nim = d4 + d'nim2 = d5 + d'bass = d6 d'hi = d7 bpm 105 @@ -344,56 +357,58 @@ hush d'drum $ slow 4 $ n "1" # s "drum" d'wax $ slow 16 . striate 256 $ s "icarus" -d'kit $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" +d'kit $ n "[~ [0 2]/2]" # s "kit" d'drum $ slow 8 $ n "[1*2, 0*8]" # s "drum" -d'wax $ superimpose (8 ~>) $ - slow 16 . striate 256 $ s "icarus" +d'wax $ retrig $ slow 20 . striate 256 $ s "icarus:1" +d'nim $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" +d'wax silence -d'bass $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" -d'wax $ slow 16 . striate 256 $ s "icarus" d'drum $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" - -d'wax $ superimpose (8 ~>) $ - every' 2 2 (within (0, 0.75) (iter 16)) $ - slow 16 . striate 256 $ s "icarus" +d'kit $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d'kit $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" -d'bass $ superimpose (iter 4) $ +d'nim $ superimpose (iter 4) $ slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble" let bass'osc1 = (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) -d'bass $ superimpose (iter 4 . bass'osc1) $ - slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble" - d'wax $ slow 16 . striate 256 $ s "icarus" +d'nim $ superimpose (iter 4 . bass'osc1) $ + slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble" + d'kit $ whenmod 3 2 (density 2) $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" +d'wax $ every' 2 2 (within (0, 0.75) (iter 16)) $ + slow 16 . striate 256 $ s "icarus" + +d'bass $ 1.3 ~> sound "[bass, sine]/8" + # gain "0.85" + -- pt 2: mod tempo d'drum $ mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" -d'bass $ superimpose (iter 4 . bass'osc1 . (# nudge "0")) $ +d'nim $ superimpose (iter 4 . bass'osc1 . (# nudge "0")) $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" -d'wax silence -d'bass $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" +msil [d'bass, d'wax] +d'nim $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" -d'bass $ whenmod 5 3 rev $ +d'nim $ whenmod 5 3 rev $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" -d'bass $ every' 2 2 (within (0, 0.5) (const silence)) $ +d'nim $ every' 2 2 (within (0, 0.5) (const silence)) $ whenmod 5 3 rev $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" -d'bass $ every' 2 2 (within (0, 0.5) (const silence)) $ - superimpose (iter 4 . bass'osc1 . (# nudge "0")) $ +d'nim $ superimpose (iter 4 . bass'osc1 . (# nudge "0")) $ + every' 2 2 (within (0, 0.5) (const silence)) $ whenmod 5 3 rev $ mt 16 1 $ striate 256 $ n "[0 1]/2" # s "nimble" @@ -401,7 +416,10 @@ d'bass $ every' 2 2 (within (0, 0.5) (const silence)) $ d'drum $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" -d'bass $ whenmod 4 2 (const silence) $ +d'bass $ 1.3 ~> sound "[bass, sine]/8" + # gain "0.85" + +d'nim $ whenmod 4 2 (const silence) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" d'kit $ every' 16 8 (const $ s "kit:3") $ @@ -412,7 +430,16 @@ d'kit $ every' 16 8 (const $ s "kit:3") $ d'drum $ (whenmod 5 3 . every' 7 5) (0.5 ~>) $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" -d'bass $ whenmod 4 2 (const silence) $ +d'bass $ + (0.3 ~>) $ + ((whenmod 5 3) . (whenmod 3 1)) (# speed "1.5") $ + slow 8 $ stack [ + gap 32 $ sound "bass", + gap 32 $ sound "sine" + ] + # gain "0.85" + +d'nim $ whenmod 4 2 (const silence) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" # vowel "e a" @@ -421,33 +448,30 @@ d'hi $ whenmod 16 8 (0.5 ~>) $ n "[0 1]/2" # s "nimble" # speed "[-3 -2]" # gain "0.9" -d'bass $ whenmod 4 2 (const silence) $ - slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel "e a" - # cut "4" - d'wax $ slow 16 . striate 256 $ s "icarus" -d'bass $ superimpose ((4 ~>) . iter 4) $ +d'nim $ superimpose ((4 ~>) . iter 4) $ whenmod 4 2 (const silence) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" # vowel "e a" - # cut "4" -- pt 3: hip hoppy -d1 silence +msil [d'drum, d'hi] + +d'nim2 $ (0.5 ~>) $ + slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" d'drum $ stack [ n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] -d'bass2 $ (0.5 ~>) $ - slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" +d'bass $ 1.3 ~> sound "[bass, sine]/8" + # gain "0.85" let drum'sn1 = (# gain "0.65") . (0.25 ~>) . density 2 -let drum'toms1 = within (0, 0.5) ((# gain "0.6") . (# n (irand 3)) . (# s "tom")) +let drum'toms1 = within (0, 0.5) ((# gain "0.7") . (# n (irand 3)) . (# s "tom")) d'drum $ stack [ n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", @@ -455,11 +479,13 @@ d'drum $ stack [ 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] -d'bass $ superimpose ((4 ~>) . iter 4) $ +d'nim $ superimpose ((4 ~>) . iter 4) $ whenmod 4 2 (const silence) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel (slow 2.1 "[u i o]") - # cut "4" + +d'nim2 $ (0.5 ~>) $ + slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" + # vowel "e a" d'drum $ stack [ n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", @@ -467,53 +493,97 @@ d'drum $ stack [ 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] -d'bass $ superimpose ((4 ~>) . iter 4) $ +d'drum $ stack [ + n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", + whenmod 7 6 (slowspread ($) [density 8 . rev . slow 4, (0.25 <~), (0.25 ~>)]) $ + whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ + 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" + ] + +d'nim $ superimpose ((4 ~>) . iter 4) $ whenmod 4 2 (rev) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel (slow 2.1 "[u i o]") - # cut "4" -d'bass $ superimpose ((4 ~>) . iter 6) $ +d'bass $ + (1.3 ~>) $ + ((whenmod 5 3) . (whenmod 3 1)) (# speed "1.5") $ + slow 8 $ stack [ + gap 32 $ sound "bass", + gap 32 $ sound "sine" + ] + # gain "0.85" + +d'hi $ whenmod 16 8 (0.5 ~>) $ + slow 8 $ slowspread ($) [gap 16, striate 8] $ + n "[0 1]/2" # s "nimble" # speed "[-3 -2]" + # gain "0.9" + +d'drum $ stack [ + (whenmod 8 5 . whenmod 7 4) (density 2 . rev) $ + n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", + whenmod 7 6 (slowspread ($) [density 8 . rev . slow 4, (0.25 <~), (0.25 ~>)]) $ + whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ + 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" + ] + +d'nim $ superimpose ((4 ~>) . iter 6) $ whenmod 4 2 (rev) $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel (slow 2.1 "[u i o]") - # cut "4" - -d'bass2 $ (0.5 ~>) $ - slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel "e a" - -d'bass2 $ (0.5 ~>) $ - slow 16 $ gap 64 $ n "[0 1]/2" # s "nimble" - # vowel "e a" -- pt 4: hip houtro -d'drum $ mt 16 16 $ stack [ +d'drum $ stack [ + (whenmod 8 5 . whenmod 7 4) (density 2 . rev) $ + superimpose (0.25 ~>) $ n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", + whenmod 7 6 (slowspread ($) [density 8 . rev . slow 4, (0.25 <~), (0.25 ~>)]) $ whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] -d'bass2 $ (0.5 ~>) $ +d'drum $ mt 16 16 $ stack [ + (whenmod 8 5 . whenmod 7 4) (density 2 . rev) $ + superimpose (0.25 ~>) $ + n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", + whenmod 7 6 (slowspread ($) [density 8 . rev . slow 4, (0.25 <~), (0.25 ~>)]) $ + whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ + 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" + ] + +d'nim2 $ (0.5 ~>) $ mt 16 1 $ striate 16 $ n "[0 1]/2" # s "nimble" # vowel "e a" -d'bass $ superimpose ((4 ~>) . iter 6) $ +d'nim $ superimpose ((4 ~>) . iter 6) $ whenmod 4 2 (rev) $ mt 16 1 $ striate 16 $ n "[0 1]/2" # s "nimble" - # vowel (slow 2.1 "[u i o]") + # vowel (slow 2.1 "[u i]") # cut "4" +d'bass $ + (1.3 ~>) $ + ((whenmod 5 3) . (whenmod 3 1)) (# speed "1.5") $ + mt 16 2 $ stack [ + gap 32 $ sound "bass", + gap 32 $ sound "sine" + ] + # gain "0.85" + +msil [d'nim, d'nim2, d'wax] + d'drum $ mt 16 16 $ stack [ - n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum", + (whenmod 8 5 . whenmod 7 4) (density 2 . rev) $ + superimpose (0.25 ~>) $ + n "[1, 0*2 [~ 0] ! ~]/4" # s "drum", + whenmod 7 6 (slowspread ($) [density 8 . rev . slow 4, (0.25 <~), (0.25 ~>)]) $ whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] +msil [d'kit, d'bass] + solo $ d'drum $ slow 16 . modtempo 0.6 4 $ density 16 $ stack [ n "[1, 0*4 [~ 0*2] [~ 0/2 0 ~] ~]/4" # s "drum", - whenmod 5 3 (superimpose (drum'toms1 . drum'sn1)) $ 4 ~> n "[~ 0 [~ 0/2 ~!] 0]/4" # s "sn" # gain "0.76" ] diff --git a/samples/bass/000-bass.wav b/samples/bass/000-bass.wav new file mode 100644 index 0000000..80b3298 Binary files /dev/null and b/samples/bass/000-bass.wav differ diff --git a/samples/icarus/001-icarus-long.wav b/samples/icarus/001-icarus-long.wav new file mode 100644 index 0000000..5f1c470 Binary files /dev/null and b/samples/icarus/001-icarus-long.wav differ diff --git a/samples/sine/000-sine-bass.wav b/samples/sine/000-sine-bass.wav new file mode 100644 index 0000000..2ee0582 Binary files /dev/null and b/samples/sine/000-sine-bass.wav differ