hsc3-0.3: Help/Graphs/mouse-clatter.lhs
mouse clatter (rd)
> let { x = mouseX KR 100 12000 Linear 0.1
> ; y = mouseY KR 0.01 0.15 Linear 0.1 }
> in do { n1 <- lfNoise0 KR (mce [3, 3.25])
> ; let { t = impulse KR (n1 * 16 + 18) 0
> ; s = do { 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) } }
> in withSC3 (\fd -> do { async fd (b_alloc 10 2048 1)
> ; play fd . out 0 =<< s }) }
(let* ((x (MouseX kr 100 12000 0 0.1))
(y (MouseY kr 0.01 0.15 0 0.1))
(n1 (LFNoise0 kr (mce2 3 3.25)))
(t (Impulse kr (MulAdd n1 16 18) 0))
(n2 (TRand 0.005 y t))
(n3 (WhiteNoise ar))
(n4 (TRand 10 x t))
(n5 (TRand 0.0 1.0 t))
(n6 (TExpRand 0.15 1.0 t))
(e (Decay2 t 0.01 n2))
(o (BPF (Mul n3 e) n4 n5))
(n7 (PV_RandComb (FFT* 10 o) n6 t))
(s (Add (Mul o 0.05) (IFFT* n7))))
(with-sc3
(lambda (fd)
(async fd (/b_alloc 10 2048 1))
(play fd (Out 0 s)))))