hsc3-graphs-0.11: src/mouse-clatter-m.hs
-- mouse clatter (rd)
import Sound.OpenSoundControl
import Sound.SC3.Monadic
mouse_clatter :: UId m => m UGen
mouse_clatter = do
let x = mouseX' KR 100 12000 Linear 0.1
y = mouseY' KR 0.01 0.15 Linear 0.1
n1 <- lfNoise0 KR (mce [3,3.25])
let t = impulse KR (n1 * 16 + 18) 0
n2 <- tRand 0.005 y t
n3 <- whiteNoise AR
n4 <- tRand 10 x t
n5 <- tRand 0 1 t
n6 <- tExpRand 0.15 1 t
o <- let e = decay2 t 0.01 n2
in return (bpf (n3 * e) n4 n5)
n7 <- pv_RandComb (fft' 10 o) n6 t
return (o * 0.05 + ifft' n7)
run :: Transport t => t -> IO ()
run fd = do
_ <- async fd (b_alloc 10 2048 1)
play fd . out 0 =<< mouse_clatter
main :: IO ()
main = withSC3 run
{-
s.sendMsg('b_alloc', 10, 2048, 1);
-}