packages feed

hsc3-0.5: Help/Graphs/spe.lhs

spe (jmcc)

> import Sound.SC3

> let { (>=>) f g = \x -> f x >>= g
>     ; chain n f = foldl (>=>) return (replicate n f)
>     ; rapf i = do { r <- clone 2 (rand 0 0.05)
>                   ; return (allpassN i 0.05 r 4) }
>     ; src = let { t = impulse kr 9 0
>                 ; e = envGen kr t 0.1 0 1 DoNothing (envPerc 0.1 1)
>                 ; s = mce [ 00, 03, 02, 07
>                           , 08, 32, 16, 18
>                           , 00, 12, 24, 32 ] }
>             in do { n <- lfNoise1 kr 1
>                   ; m <- dseq dinf s
>                   ; let { f = midiCPS (demand t 0 m + 32)
>                         ; o = lfSaw ar f 0 * e
>                         ; rq = midiCPS (n * 36 + 110) }
>                     in return (rlpf o rq 0.1) } }
> in audition . (out 0) =<< chain 4 rapf =<< src

[variant of graph in streams & patterns tutorial]