This repository has been archived on 2026-09-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
piston-lp/piston.tidal
T

620 lines
15 KiB
Plaintext

{-
piston lp
by aneurin "anny" barker snook
http://anny.audio
-}
-- channel map = clearer purposing
let chdrum = d1 -- k, sn
let chperc = d2 -- wt, wtsn, hh
let chbass = d3 -- dubb, k
let chgnome = d4 -- gnome
let chfly = d5 -- fly
let chff = d6 -- bz, bzl, ff
let chshard = d7 -- ice, plode
let chmisc = d8 -- misc
let chant = d9 -- ant
let chextra = d10 -- misc, need to organise
-- handy
let msil = mapM_ ($ silence)
-- preload samples
d1 $ sound (samples "[dubb fly gnome ice sn wt wtsn]*16" $ run 16) |+| end "0.00001"
d1 silence
{-
piston 1.a [1]
-}
let introfly = slow 16 $ jux (0.5 <~) $ rev . striate 256 $ sound "fly"
|+| hcutoff "0.09"
|+| hresonance "0.06"
let bassParams = (|+| gain "0.7").
(|+| hcutoff "0.022").
(|+| hresonance "0.001")
let bassic = rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
let p1sn = density (4%3) $ sound "[wtsn ~ wt]"
let p1sn2 = sound "[~ ~ sn [~ sn*3]/2]/2"
let p1k = sound "[k(3,8)]/2"
let p1gnome = within (0, 0.5) rev $ chop 8 $ sound "[gnome(3,8)]/2"
|+| gain "0.8"
|+| speed ((+0.8).(/5) <$> slow 1.1 sinewave1)
-- let's go
cps (138/60)
chfly $ introfly |+| gain "0.1"
chfly $ introfly |+| gain "1"
chdrum $ sound "k:1"
chperc $ sound "wt/2"
chbass $ slow 8 $ (0.25 <~) $ bassic
chperc $ sound "{wt/2, [~ wtsn]/8}"
-- yes
chdrum $ sound "k"
chdrum $ sound "{k, ~ sn}"
-- yes!
chfly $ whenmod 5 2 (|+| vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ introfly
-- now it's a thing
chperc $ p1sn
chperc $ whenmod 5 3 rev $ p1sn
chperc $ whenmod 5 3 (rev . chop 8) $ p1sn
chperc $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ p1sn
chgnome $ p1gnome
chdrum $ overlay p1sn2 $ sound "k"
-- stop! rebuild
msil [chdrum,chbass]
chdrum $ p1k
chdrum $ overlay (sound "[~ sn]/2") $ p1k
chdrum $ overlay p1sn2 $ p1k
chbass $ (every 2 $ within (0.25, 0.75) (0.5 ~>)) $ slow 8 $ bassic
msil [chperc,chfly]
chdrum $ within (0.5, 1) (chop 8) $ overlay p1sn2 $ p1k
chfly $ introfly
chperc $ sound "[~ wt*4 ~ wt*2 ~]/5"
chdrum $ overlay p1k $ sound "[~ sn]/2"
chdrum $ overlay ((3.75 ~>) $ sound "wtsn/4") $ overlay p1k $ sound "[~ sn]/2"
{-
piston 1.b [2]
-}
let drum7 = sound "[k [sn k] [k sn] [~ sn] [~ k] sn [k [k wtsn]]]/7"
let p2d2 = sound "wt*2"
|+| vowel "[u e u a]/2"
|+| end "0.15"
let p2bass = slow 8 $ ((1%8) <~) $ chop 32 $
bassParams $ sound "[dubb dubb:1]/2"
|+| speed "1.2"
|+| shape ((/2) <$> density 4 sinewave1)
|+| cut "1"
let p2ant = slow 2 $ smash 16 [1,2] $ sound "ant:1"
|+| cutoff "0.08"
|+| resonance "0.01"
let p2shard = chop 16 $ sound "[ice [~ ice] ~ ~]/4"
|+| gain "0.7"
let p2fly = chop 64 $ sound "[fly ~ [fly ~ ~ fly] ~]/4"
|+| cut "1"
|+| begin "0.3"
|+| end "0.35"
|+| shape ((+0.25).(/2) <$> density 8 sinewave1)
|+| speed ((+0.92) <$> density (5%4) saw1)
let p2cymb g = within (0.5,1) (|+| vowel "e") $
(0.5 ~>) $ chop 2 $ sound "[cymb*4 cymb*3]/8"
|+| shape ((/3) <$> density 3.6 saw1)
|+| gain g
-- rebuild
chfly silence
chdrum $ drum7
chgnome silence
chperc $ p2d2
chbass $ p2bass
chant $ p2ant
chshard $ ((1%16) <~) $ p2shard
chgnome $ p2fly
-- drop
solo $ chgnome $ p2fly
chdrum $ (0.5 <~) $ sound "[[k k:1] [sn ~ ~ k]]/2"
-- rebuild
chbass $ p2bass
chextra $ (0.25 ~>) $ p2cymb "0.65"
chperc $ p2d2
chextra $ whenmod 5 3 (density 3) $ (0.25 ~>) $ p2cymb "0.65"
chbass $ p2bass |+| vowel "u a"
-- tweak out
chbass $ p2bass |+| vowel "u a"
|+| speed "0.8 1.2"
chshard $ rev $ p2shard
|+| shape ((+0.25).(/2) <$> density 8 saw1)
chshard $ every 2 (density 1.5) $ whenmod 5 3 (density 2) $ rev $ p2shard
|+| shape ((+0.25).(/2) <$> density 8 saw1)
mapM_ ($ silence) [chperc,chgnome]
chdrum $ (0.5 <~) $ sound "[[k:1 k] [~ [sn k:1]]]/2"
chperc $ sound "~ wt*2"
chextra $ (0.25 ~>) $ p2cymb "0.65"
chdrum $ (0.5 <~) $ sound "[[k:1 k] [~ [sn k:1]]]/2"
{-
piston 1.c [3]
-}
let p3bass v c b = (4 <~) $ every 2 (0.5 <~) $
slow 4 .
(if b then brak else id) $
rev . chop 16 $
bassParams $ sound "[dubb dubb:1]/2"
|+| cut c
|+| vowel v
let p3drum = overlay (sound "[~ sn]/2") $ sound "[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8"
let p3d2 = sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8"
let weirdub = slow 8 $ chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
|+| cut "1"
|+| speed "0.2"
|+| vowel "e"
let kdelay = (|+| delay "0.3").
(|+| delayfeedback "0.5").
(|+| delaytime "0.766") --(138/60)/3
-- dance!
chdrum $ sound "k"
msil [chbass,chgnome,chant]
chff $ sound "[ff(3,8) [~ [ff bz]]]/4"
|+| end "0.3"
|+| shape "0 0.25"
|+| gain "0.7"
msil [chdrum,chextra]
-- hit fan
chdrum $ sound "[k k sn k]/2"
chbass $ p3bass "i" "1" False
chbass $ p3bass "o i" "1" False
chdrum $ p3drum
chbass $ p3bass "o i" "1" True
chbass $ p3bass "o i" "0" True
msil [d1,d2,chshard]
chbass $ p3bass "o i" "1" True
chperc $ p3d2
-- quickly
chmisc $ weirdub
chdrum $ p3drum
chperc $ chop 16 $ within (0.5, 1.5) (kdelay) $ p3d2
chperc $ chop 16 $ within (0.5, 1.5) (kdelay) $ overlay (sound "~ wt*2") $ p3d2
chshard $ (0.5 <~) $ ((1%16) <~) $ p2shard
chperc $ whenmod 3 2 rev $ chop 16 $ within (0.5, 1.5) (kdelay) $ overlay (sound "~ wt*2") $ p3d2
chperc $ within (0, 0.5) (|+| vowel "o") $ whenmod 3 2 rev $ chop 16 $ within (0.5, 1.5) (kdelay) $ overlay (sound "~ wt*2") $ p3d2
-- aa!
chshard $ iter 4 . density 2 $ (0.5 <~) $ ((1%16) <~) $ p2shard
|+| vowel "e o"
-- aa!!
chgnome $ p1gnome
chbass $ p3bass "o i" "0" True
{-
piston 2 [4]
-}
let p4d2 = sound "[[~ [wt wtsn]] ~ wt ~]/5"
let p4plode s = within (0.5, 0.75) (iter 4) $
whenmod 3 2 (slow 2) $
slow 8 $ every 2 rev $ striate 128 $ sound s
|+| cutoff "0.02"
|+| resonance "0.001"
|+| speed "0.7"
|+| gain "0.7"
let p4bass = whenmod 5 3 (density (3%2) . brak) $
bassParams $
rev $ (0.5 ~>) $ slow 2 . chop 8 $ sound "[dubb dubb:1]/2"
|+| speed "0.5"
|+| cut "1"
|+| end "0.5"
let p4bz s = whenmod 7 4 (within (0.5, 1) (density 2)) $
(0.5 <~) $
slow 16 . chop 32 $ sound (samples s (density 1.5 "0 1"))
|+| speed ((+1.6) <$> density 2.2 sinewave1)
|+| pan ((+0.25).(/2) <$> density 4.1 sinewave1)
-- cool off
solo $ d3 $ weirdub
chperc $ p4d2
chshard $ p4plode "[ice plode]*2"
-- we're back
chdrum $ sound "[k sn k*2 [~ sn] [~ k]]/5"
chperc $ smash 4 [0.5,0.25] $ iter 3 $ p4d2
chgnome $ (0.5 <~) $ slow 16 . chop 32 $ sound (samples "bzl" (density 1.5 "0 1"))
|+| speed ((+1) <$> density 1.7 sinewave1)
|+| gain "0.9"
chmisc silence
chshard $ whenmod 7 3 (density (5%4)) $ p4plode "[ice plode]*2"
chdrum $ sound "[[k k:1]*2 sn k*2 [~ sn] [~ k]]/5"
chbass $ (0.75 ~>) $ p4bass
-- o yes
msil [chperc,chgnome,chshard]
chgnome $ p4bz "bz"
chdrum $ sound "[k*2 sn [~ k] sn]/4"
chgnome $ p4bz "bz*2"
chshard $ whenmod 7 3 (density (5%4)) $ p4plode "[ice wtsn]*2" |+| vowel "u e"
chgnome $ every 3 brak $ p4bz "bz*2"
chperc $ smash 4 [0.5,0.25] $ iter 3 $ p4d2
chdrum silence
chdrum $ sound "[[k ~ ~ k] sn [~ k] sn]/4"
chgnome $ every 3 brak $ p4bz "bz bzl"
msil [d2,d3,chshard]
chgnome $ every 2 brak $ p4bz "bz*2"
{-
piston 3 [5]
-}
let p5d2 = sound "~ wt wt wtsn/8"
|+| shape ((/2) <$> density 1.2 saw1)
let p5drum = sound "{[~ ~ ~ k:1], [~ sn]/2}"
let p5bass = chop 16 $ bassParams $ sound (samples "[~ dubb]" (slow 4 "0 1"))
|+| cut "1"
let p5fly b = whenmod 5 3 rev $
(if b then brak else id) $
slow 16 $ jux ((1.5 ~>).rev) $
chop 64 $ bassParams $ sound "fly:1"
|+| speed "0.7"
|+| shape ((/2) <$> density 2.1 saw1)
let p5bass2 = chop 12 $ sound "[~ ~ [~ k:1] !]/4"
|+| speed "0.9"
let gprop = (|+| speed "1.2").
(|+| shape ((/2) <$> ((0.25 ~>) . density 3) sinewave1)).
(|+| gain "0.6")
let p5gnome sm f = smash 64 sm $ gprop $ sound "~ gnome"
|+| pan (f $ slow 4 sinewave1)
let p5bass2b = whenmod 4 3 (density 1.8) $ p5bass2
|+| shape ((/3) <$> density 3 sinewave1)
|+| delay "0.3"
|+| delayfeedback "0.2"
|+| delaytime "0.2875" --(138/60)/8
let p6bass = (|+| gain ((*0.7) <$> saw1)) $
every 2 (density 2) $ whenmod 3 2 (density 1.6) $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
chperc $ p5d2
chdrum $ overlay (sound "[[k ~ ~ k] ~ [~ k] ~]/4") $ p5drum
chant $ p2ant
-- quickly
msil [chgnome,chant]
chdrum $ p5drum
chdrum $ overlay (sound "k") $ p5drum
-- mm
chbass $ p5bass
chfly $ p5fly False
chbass $ whenmod 3 2 (density 1.6) $ p5bass
chfly silence
chbass $ density 1.6 $ p5bass
chbass $ every 2 (density 2) $ density 1.6 $ p5bass
chff $ p5bass2
chff $ whenmod 4 3 (density 1.8) $ p5bass2
chbass $ every 2 (density 2) $ density 1.6 $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
chff $ whenmod 4 3 (density 1.8) $ p5bass2
|+| shape ((/3) <$> density 3 sinewave1)
-- alright
chshard $ whenmod 5 3 (slow 1.5) $ rev $ stack [
p5gnome [0.5,1] id,
p5gnome [(1/2.5),1] (0.5 <~)
]
chbass $ within (0.5, 0.75) (|+| vowel "u o") $ every 2 (density 2) $ whenmod 3 2 (density 1.6) $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
-- cool off
msil [d1,d3]
chdrum $ sound "k:1"
chff $ p5bass2b
chff $ within (0, 0.5) rev $ whenmod 4 3 (density 1.8) $ p5bass2b
|+| shape ((/3) <$> density 3 sinewave1)
chfly $ p5fly True
chbass $ every 2 (density 2) $ whenmod 3 2 (density 1.6) $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
-- woof
chdrum $ overlay (sound "k") $ p5drum
msil [d2,chff]
chshard silence
{-
piston 4 [6]
-}
let p6bbass = within (0, 0.5) (slow (7%6)) $
every 2 (0.5 <~) $ slow 8 $
rev . chop 32 $ bassParams $ sound "[dubb dubb:1]/2"
let p6bbbass c = slow 16 $ rev . chop c $ bassParams $ sound "[dubb dubb:1]/2"
let p6cymb = sound "[cymb*8 ~]/8"
|+| gain ((+0.6).(/5) <$> density 3.6 saw1)
|+| cut "1"
let p6drum = sound "{k, [~ ~ ~ k:1] [~ k:1]}"
let p6drum2 = overlay (sound "[~ sn ~ sn*2]/8") $ p6drum
let p6gnome d = iter 4 $ density (9%8) $
within (0, 0.5) rev $
smash 8 [1,2] $ sound "[gnome(3,8)]/2"
|+| gain "0.8"
|+| speed ((+0.76).(/d) <$> slow 1.1 sinewave1)
chbass $ p6bass
msil [d1,chfly]
chff $ p6bbass
chfly $ superimpose (slow (5%3) . iter 2) $ (|+| speed ((+0.7) <$> slow 1.1 sinewave1)) $ chop 32 $ sound "[plode(5,8)]/8"
|+| cut "1"
chshard $ sound "cymb/8"
chshard $ p6cymb
chperc $ sound "wt*2"
|+| vowel "[u e u a]/2"
chbass silence
chdrum $ p6drum
chgnome $ p6bbbass 64
chshard $ density (5%4) $ whenmod 9 4 (density 1.5) $ p6cymb
chmisc $ (3 ~>) $ within (0.25, 0.75) rev $ slowspread ($) [chop 16, chop 32] $ sound "[wtsn(3,8)]/2"
|+| speed ((+0.8).(/2) <$> density 1.8 sinewave1)
chdrum $ p6drum2
chbass $ (0.6 ~>) $ p4bass
msil [d2,chgnome,chmisc,chextra]
chgnome $ p6gnome 5
chgnome $ p6gnome 3
msil [chdrum,chfly,chff,chshard]
chfly $ p5fly False
chdrum $ stack [
sound "[[k k:1]*2 [~ k:1 ~ k] [~ k:1 k ~] [~ ~ ~ k]]/8",
whenmod 8 4 (0.5 ~>) $ sound "[~ sn]/4"
]
chextra $ (0.5 <~) $ p2cymb "0.7"
chshard $ density (5%4) $ whenmod 9 4 (density 1.5) $ p6cymb
chff $ p6bbass
chdrum $ p6drum2
msil [d2,chfly,chff]
{-
piston 5 [7]
-}
let p7shard dt = slow 5 . chop 15 $ sound "ice"
|+| gain "0.7"
|+| resonance "0.4"
|+| cutoff "0.2"
|+| delay "0.7"
|+| delayfeedback "0.3"
|+| delaytime dt
let p7bass f = slow 8 $ f $
slowspread ($) [rev.chop 12, rev.chop 24] $
bassParams $ sound "[dubb dubb:1]/2"
let p7fly = slow (4%3) .
slowspread ($) [slow 1, density (5%4)] $
slow 12 $
slowspread striate [24,36] $ sound "fly:1"
|+| gain "0.7"
let p7basshuf f = (f . (/2) <$> density (5%4) sinewave1)
-- boner killer
chdrum $ whenmod 3 2 (slow (4%3)) $ sound "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"
solo $ chdrum $ whenmod 3 2 (slow (4%3)) $ sound "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"
chdrum $ every 3 (density 2) $ within (0, 0.5) (jux ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"
chshard $ p7shard "0.02"
-- quickly
hush
chdrum $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"
chperc $ sound "[wt*3 ~]/2"
|+| shape ((/2) <$> slow 3 saw1)
chbass $ p7bass id
chgnome $ p7fly
chgnome $ p7fly
|+| delay "0.6"
|+| delayfeedback "0.4"
|+| delaytime "0.62" --(112/60)/3
chff $ rev . chop 12 $ sound "bz/4"
|+| vowel "o"
msil [d1,d2]
chbass $
(|+| begin (p7basshuf id)) $
(|+| end (p7basshuf (+0.05))) $
p7bass id
chshard $ p7shard "0.02"
chdrum $ sound "{[[k ~ ~] k]/2, ~ sn}"
chdrum $ sound "{[[k ~ k] k]/2, ~ sn}"
chshard $ p7shard "0.76"
msil [d3,chshard]
chbass $ p7bass (within (0.33, 0.67) (0.25 ~>))
|+| vowel "o"
chbass silence
chdrum $ within (0, 0.5) (jux ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"
chff silence
{-
piston 6.a [8]
-}
let p8bz = sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
|+| begin "0.7"
|+| end "0.85"
|+| hcutoff "0.04"
|+| hresonance "0.1"
|+| shape ((/5) <$> slow (5%3) sinewave1)
chbass $ p6bbbass 32
chdrum $ within (0, 0.5) (superimpose ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"
chff $ p8bz
chdrum $ sound "[k*2 [sn ~ ~ wt] [~ k] sn [~ k]]/5"
chdrum $ sound "[k [sn ~ ~ wt] [~ k] sn]/4"
chbass $ p6bbbass 64
chff $ p8bz
|+| delay "0.6"
|+| delayfeedback "0.5"
|+| delaytime "0.766" --(138/60)/3
chant $ p2ant
chdrum $ sound "[k [sn ~ ~ k] [~ k] sn]/4"
chmisc $ p2fly
chshard $ every 2 (density 2) $ whenmod 3 2 (density 1.6) $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
chperc $ sound "{wt/2, [~ wtsn]/8}"
chant $ stack [
p2ant,
density (5%4) $ whenmod 9 4 (density 1.5) $ p6cymb
]
chperc $ p1sn
chperc $ whenmod 5 3 rev $ p1sn
chperc $ whenmod 5 3 (rev . chop 8) $ p1sn
chfly $ whenmod 5 2 (|+| vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ introfly
chperc $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ p1sn
chdrum $ sound "[k [sn ~ ~ k] [~ k*2] sn]/4"
{-
piston 6.b [9]
-}
msil [chgnome,chff,chshard,chmisc,chant]
chant $ (0.75 ~>) $ p4bass
chextra $ every 3 brak $ p4bz "~ bzl"
chant $ stack [
(0.75 ~>) $ p4bass,
every 2 (density 2) $ whenmod 3 2 (density 1.6) $ p5bass
|+| speed ((+0.75).(/2) <$> slow 1.3 sinewave1)
]
chdrum $ sound "[k*2 [sn ~ ~ k] [k k*2] sn]/4"
chshard $ whenmod 7 3 (density (5%4)) $ p4plode "[ice plode]*2"
chgnome $ p5fly True
chff $ p6bbass
chgnome $ stack [
p5fly True,
p6gnome 3
]
chextra $ stack [
every 3 brak $ p4bz "~ bzl",
iter 4 . density 2 $ (0.5 <~) $ ((1%16) <~) $ p2shard
|+| vowel "e o"
]
msil [chfly,chshard,chmisc,chant,chextra]
chant $ (0.75 ~>) $ p4bass
chextra $ (2.75 ~>) $ p2cymb "0.7"
msil [chgnome,chff]
solo $ d2 $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"
hush