packages feed

hsc3-0.4: Help/Graphs/tr-out.lhs

tr-out (rd)

> let node n = do { t <- M.dust kr 1.6
>                 ; r1 <- M.tRand 0 6 t
>                 ; r2 <- M.tRand 0 6 t
>                 ; r3 <- M.tRand 0 6 t
>                 ; let { f = midiCPS (bufRdN 1 kr 0 r1 NoLoop)
>                       ; p = bufRdN 1 kr 1 r2 NoLoop
>                       ; a = bufRdN 1 kr 2 r3 NoLoop }
>                   in return ( pan2 (sinOsc ar f 0) p a
>                             , sendTrig t n (f / 660) ) }
> in withSC3 (\fd -> do { async fd (b_alloc 0 6 1)
>                       ; send fd (b_setn1 0 0 [60, 62, 64, 65, 67, 69])
>                       ; async fd (b_alloc 1 6 1)
>                       ; send fd (b_setn1 1 0 [-1, -0.5, 0, 0.25, 0.75, 1.0])
>                       ; async fd (b_alloc 2 6 1)
>                       ; send fd (b_setn1 2 0 [0.01, 0.05, 0.1, 0.15, 0.25, 0.35])
>                       ; ns <- mapM node [1..4]
>                       ; let o = sum (map fst ns)
>                         in play fd (out 0 (mrg (o : map snd ns))) })