packages feed

hsc3-0.2: Help/Graphs/reverberated-sine-percussion.lhs

reverberated sine percussion (jmcc)

> let { d = 6
>     ; c = 5
>     ; a = 4
>     ; s_ = do { n <- dust AR (2 / constant d)
>               ; r <- rand 0 3000
>               ; return (resonz (n * 50) (200 + r) 0.003) }
>     ; x_ i = do { r <- clone 2 (rand 0 0.05)
>                 ; return (allpassN i 0.05 r 1) } 
>     ; chain n f = foldl (>=>) return (replicate n f) }
> in do { s <- liftM sum (replicateM d s_)
>       ; y <- let z = delayN s 0.048 0.48
>              in do { r <- clone c (rand 0 0.1)
>                    ; n <- lfNoise1 KR r
>                    ; return (mix (combL z 0.1 (n * 0.04 + 0.05) 15)) }
>       ; x <- chain a x_ y
>       ; audition (out 0 (s + x * 0.2)) }

{ var d = 6
; var c = 5
; var a = 4
; var s_ = { var n = Dust.ar(2 / d)
           ; var r = Rand.new(0, 3000)
           ; Resonz.ar(n * 50, 200 + r, 0.003) }
; var s = Mix.ar(Array.fill(d, s_))
; var z = DelayN.ar(s, 0.048)
; var y_ = LFNoise1.kr(Array.fill(c, { Rand.new(0, 0.1) }), 0.04, 0.05)
; var y = Mix.ar(CombL.ar(z, 0.1, y_, 15))
; var x = y
; var x_ = { var r = [Rand.new(0, 0.05), Rand.new(0, 0.05)]
           ; x = AllpassN.ar(x, 0.050, r, 1) }
; a.do(x_)
; Out.ar(0, s + (0.2 * x)) }.play