hsc3-graphs-0.15: Sound/SC3/Graph/JMCC_plucked_strings_m.hs
-- plucked strings (jmcc)
module Sound.SC3.Graph.JMCC_plucked_strings_m where
import Sound.SC3 {- hsc3 -}
plucked_strings :: UId m => m UGen
plucked_strings = do
let dt = do r0 <- randM 60 90
return (1 / midiCPS (floorE r0))
i = do r0 <- randM 2 2.2
n0 <- dustM AR 0.5
r1 <- randM 0.05 0.15
r2 <- randM 0 (pi * 2)
r3 <- iRandM 0 2
let s0 = impulse AR r0 0 * 0.3
s1 = n0 * 0.3
s2 = impulse AR (sinOsc KR r1 r2 * 5 + 5.2) 0 * 0.3
return (select r3 (mce [s0,s1,s2]))
s = do n0 <- pinkNoiseM AR
r1 <- randM (-1) 1
im <- i
dt' <- dt
let t = decay im 0.1 * n0 * 0.1
return (pan2 (combL t dt' dt' 4) r1 1)
fmap sum (sequence (replicate 5 s))
main :: IO ()
main = audition . out 0 =<< plucked_strings