hsc3-0.4: Help/Graphs/wial.lhs
wial (rd)
> let { pls c d f = let { t = pulseDivider c d 0
> ; e = decay2 t 0.05 0.75
> ; o = sinOsc ar (toggleFF t * f + f * 2) 0 }
> in do { n0 <- M.tiRand 0 1 t
> ; return (o * e * n0 * 0.5) }
> ; smpl f = [ (4, 6, f , 0.75)
> , (2, 6, f * 2, 0.75)
> , (1, 2, f * 16, 0.025)
> , (1, 5, f * 64, 0.005)
> , (1, 4, f * 128, 0.035)
> , (1, 3, f * 256, 0.15)
> , (2, 3, f * 512, 0.35) ]
> ; plss c (d0, d1, f, a) = liftM (* a) (pls c (mce2 d0 d1) f)
> ; clk = impulse ar 16 0 }
> in do { n0 <- M.dust kr 2
> ; f <- M.twChoose n0 (mce2 (20 * 0.66) 20) (mce2 0.25 0.75) 0
> ; audition . out 0 . sum =<< mapM (plss clk) (smpl f) }