diff --git a/piston.scd b/piston.scd new file mode 100644 index 0000000..0476e35 --- /dev/null +++ b/piston.scd @@ -0,0 +1,8 @@ +include("SuperDirt") + +Server.local.options.device = "Soundflower (2ch)"; +SuperDirt.start + +~dirt.loadSoundFiles(thisProcess.nowExecutingPath.dirname +/+ "/samples/*") + +~dirt.stop diff --git a/piston.tidal b/piston.tidal index a7d59f1..1e3d760 100644 --- a/piston.tidal +++ b/piston.tidal @@ -28,21 +28,21 @@ let d'cymb = d10 -- cymb let msil = mapM_ ($ silence) let k = s "k" -let k1 = s "k:1" +let k1 = sound "k:1" let sn = s "[~ sn]/2" let bass'params = (# gain "0.7"). - (# hcutoff "0.022"). + (# hcutoff "485"). -- 0.022 * (44100/2) (# hresonance "0.001") -let bass' c = rev . chop c $ bass'params $ s "[dubb dubb:1]/2" +let bass' c = rev . chop c $ bass'params $ n "[0 1]/2" # s "dubb" {- [1] -} let fly'1 = slow 16 $ jux (0.5 <~) $ rev . striate 256 $ s "fly" - # hcutoff "0.09" + # hcutoff "1985" -- 0.09 * (44100/2) # hresonance "0.06" {- n.b. defs suffixed with 'nf are final-ish versions for reuse in @@ -108,13 +108,13 @@ let wt'2 = s "wt*2" # end "0.15" let bass'2 = slow 8 $ ((1%8) <~) $ chop 32 $ - bass'params $ s "[dubb dubb:1]/2" + bass'params $ n "[0 1]/2" # s "dubb" # speed "1.2" # shape ((/2) <$> density 4 sinewave1) # cut "1" -let ant'2 = slow 2 $ smash 16 [1,2] $ s "ant:1" - # cutoff "0.08" +let ant'2 = slow 2 $ smash 16 [1,2] $ sound "ant:1" + # cutoff "1764" -- 0.08 * (44100/2) # resonance "0.01" let shard'2 = chop 16 $ s "[ice [~ ice] ~ ~]/4" @@ -146,7 +146,7 @@ d'fly $ fly'2 -- drop solo $ d'fly $ fly'2 -d'drum $ (0.5 <~) $ s "[[k k:1] [sn ~ ~ k]]/2" +d'drum $ (0.5 <~) $ sound "[[k k:1] [sn ~ ~ k]]/2" -- rebuild d'bass $ bass'2 @@ -165,8 +165,8 @@ d'bass $ bass'2 # vowel "u a" # speed "0.8 1.2" msil [d'perc,d'fly] -d'drum $ s "[[k sn] [~ k:1 k:1 ~]]/2" -d'drum $ s "[k [sn k:1 k:1 ~]]/2" +d'drum $ sound "[[k sn] [~ k:1 k:1 ~]]/2" +d'drum $ sound "[k [sn k:1 k:1 ~]]/2" d'perc $ s "~ wt*2" {- @@ -177,7 +177,7 @@ let bass'3 v c b = (4 <~) $ every 2 (0.5 <~) $ slow 4 . (if b then brak else id) $ rev . chop 16 $ - bass'params $ s "[dubb dubb:1]/2" + bass'params $ n "[0 1]/2" # s "dubb" # cut c # vowel v @@ -188,14 +188,15 @@ let bz'3 = s "[ff(3,8) [~ [ff bz]]]/4" let drum'3 = overlay (s "[~ sn]/2") $ s "[k*2 [~ k*2] k ~ k*2 ~ k*2 ~]/8" -let bass2'3 = slow 8 $ chop 16 $ bass'params $ s "[dubb dubb:1]/2" +let bass2'3 = slow 8 $ chop 16 $ bass'params $ n "[0 1]/2" # s "dubb" # cut "1" # speed "0.2" # vowel "e" -let perc'3 = s "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8" +let perc'3 = sound "[[k:1 [~ k:1] k:1 [~ k:1]] sn]/8" -let perc'3'delay = (# delay "0.3"). +let perc'3'delay = (# orbit "1"). + (# delay "0.3"). (# delayfeedback "0.5"). (# delaytime "0.766") --(138/60)/3 @@ -253,14 +254,14 @@ let drum5'4 = s "[[~ [wt wtsn]] ~ wt ~]/5" let plox'4 so = within (0.5, 0.75) (iter 4) $ whenmod 3 2 (slow 2) $ slow 8 $ every 2 rev $ striate 128 $ s so - # cutoff "0.02" + # cutoff "441" -- 0.02 * (44100/2) # resonance "0.001" # speed "0.7" # gain "0.7" let bass'4 = whenmod 5 3 (density (3%2) . brak) $ bass'params $ - rev $ (0.5 ~>) $ slow 2 . chop 8 $ s "[dubb dubb:1]/2" + rev $ (0.5 ~>) $ slow 2 . chop 8 $ n "[0 1]/2" # s "dubb" # speed "0.5" # cut "1" # end "0.5" @@ -284,27 +285,27 @@ d'perc $ drum5'4 d'shard $ plox'4 "[ice plode]*2" -- we're back -d'drum $ s "[k sn k*2 [~ sn] [~ k]]/5" +d'drum $ sound "[k sn k*2 [~ sn] [~ k]]/5" d'perc $ smash 4 [0.5,0.25] $ iter 3 $ drum5'4 d'bz $ bz'4 d'misc silence d'shard $ whenmod 7 3 (density (5%4)) $ plox'4 "[ice plode]*2" -d'drum $ s "[[k k:1]*2 sn k*2 [~ sn] [~ k]]/5" +d'drum $ sound "[[k k:1]*2 sn k*2 [~ sn] [~ k]]/5" d'bass $ (0.75 ~>) $ bass'4 -- o yes msil [d'perc,d'bz,d'shard] d'bz $ bzox'4 "bz" -d'drum $ s "[k*2 sn [~ k] sn]/4" +d'drum $ sound "[k*2 sn [~ k] sn]/4" d'bz $ bzox'4 "bz*2" d'shard $ whenmod 7 3 (density (5%4)) $ plox'4 "[ice wtsn]*2" # vowel "u e" d'bz $ every 3 brak $ bzox'4 "bz*2" d'perc $ smash 4 [0.5,0.25] $ iter 3 $ drum5'4 d'drum silence -d'drum $ s "[[k ~ ~ k] sn [~ k] sn]/4" +d'drum $ sound "[[k ~ ~ k] sn [~ k] sn]/4" d'bz $ every 3 brak $ bzox'4 "bz bzl" @@ -318,7 +319,7 @@ d'bz $ every 2 brak $ bzox'4 "bz*2" let perc'5 = s "~ wt wt wtsn/8" # shape ((/2) <$> density 1.2 saw1) -let drum'5 = s "{[~ ~ ~ k:1], [~ sn]/2}" +let drum'5 = sound "{[~ ~ ~ k:1], [~ sn]/2}" let drum'5f = overlay k $ drum'5 let bass'5 = chop 16 $ bass'params $ s "[~ dubb]" @@ -331,15 +332,16 @@ let bass'5f = every 2 (density 2) $ whenmod 3 2 (density 1.6) $ bass'5 let fly'5 b = whenmod 5 3 rev $ (if b then brak else id) $ slow 16 $ jux ((1.5 ~>).rev) $ - chop 64 $ bass'params $ s "fly:1" + chop 64 $ bass'params $ sound "fly:1" # speed "0.7" # shape ((/2) <$> density 2.1 saw1) -let bass2'5 = chop 12 $ s "[~ ~ [~ k:1] !]/4" +let bass2'5 = chop 12 $ sound "[~ ~ [~ k:1] !]/4" # speed "0.9" let bass2'5b = whenmod 4 3 (density 1.8) $ bass2'5 # shape ((/3) <$> density 3 sinewave1) + # orbit "1" # delay "0.3" # delayfeedback "0.2" # delaytime "0.2875" --(138/60)/8 @@ -428,7 +430,7 @@ let cymb'6 = s "[cymb*8 ~]/8" let cymb'6f = density (5%4) $ whenmod 9 4 (density 1.5) $ cymb'6 -let drum'6 = s "{k, [~ ~ ~ k:1] [~ k:1]}" +let drum'6 = sound "{k, [~ ~ ~ k:1] [~ k:1]}" -- weird let wtsn'6 = (3 ~>) $ within (0.25, 0.75) rev $ @@ -471,7 +473,7 @@ d'gnome $ gnome'6 3 msil [d'drum,d'fly,d'bz,d'cymb] -d'drum $ s "[[k k:1]*2 [sn k:1 ~ k] [~ k:1 k ~] [~ sn ~ k]]/8" +d'drum $ sound "[[k k:1]*2 [sn k:1 ~ k] [~ k:1 k ~] [~ sn ~ k]]/8" d'fly $ fly'5 False @@ -489,14 +491,15 @@ msil [d'perc,d'fly,d'bz] let shard'7 dt = slow 5 . chop 15 $ s "ice" # gain "0.7" # resonance "0.4" - # cutoff "0.2" + # cutoff "4410" -- 0.2 * (44100/2) + # orbit "1" # delay "0.7" # delayfeedback "0.3" # delaytime dt let bass'7 f = slow 8 $ f $ slowspread ($) [rev.chop 12, rev.chop 24] $ - bass'params $ s "[dubb dubb:1]/2" + bass'params $ n "[0 1]/2" # s "dubb" -- shuffle begin/end in middle section let bass'7'm f = (f . (/2) <$> density (5%4) sinewave1) @@ -504,7 +507,7 @@ let bass'7'm f = (f . (/2) <$> density (5%4) sinewave1) let fly'7 = slow (4%3) . slowspread ($) [slow 1, density (5%4)] $ slow 12 $ - slowspread striate [24,36] $ s "fly:1" + slowspread striate [24,36] $ sound "fly:1" # gain "0.7" -- go @@ -526,6 +529,7 @@ d'bass $ bass'7 id d'fly $ fly'7 d'fly $ fly'7 + # orbit "1" # delay "0.6" # delayfeedback "0.4" # delaytime "0.62" --(112/60)/3 @@ -540,6 +544,7 @@ d'bass $ (# end (bass'7'm (+0.05))) $ bass'7 id +-- TODO fix delay clashes with >2 orbits d'shard $ shard'7 "0.02" d'drum $ s "{[k k]/2, ~ sn}" @@ -564,7 +569,7 @@ let bz'8 = s "[[ff bz]*2 [~ bz*2]]/2" # n (slow 2 $ run 5) # begin "0.7" # end "0.85" - # hcutoff "0.04" + # hcutoff "882" -- 0.04 * (44100/2) # hresonance "0.1" # shape ((/5) <$> slow (5%3) sinewave1)