hsc3-0.21: Help/Graph/jmcc-plucked-strings.hs
-- plucked strings (jmcc)
let dt _ = 1 / midiCps (floorE (rand 60 90))
i _ = let s0 = impulse ar (rand 2 2.2) 0 * 0.3
s1 = dust ar 0.5 * 0.3
s2 = impulse ar (sinOsc kr (rand 0.05 0.15) (rand 0 (pi * 2)) * 5 + 5.2) 0 * 0.3
in select (iRand 0 2) (mce [s0,s1,s2])
s n = let dt' = dt n
t = decay (i n) 0.1 * pinkNoise ar * 0.1
in pan2 (combL t dt' dt' 4) (rand2 1) 1
in mixFill 5 s
-- plucked strings (jmcc) ; monad
uid_st_eval (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)))