hsc3-0.3: Help/Graphs/tgb.lhs
tgb (rd)
> let { mkls bp t = envGen KR 1 1 0 1 RemoveSynth (envCoord bp t 1 EnvLin)
> ; pm_t l r d t = let { le = mkls l d
> ; re = mkls r d }
> in tRand le re t
> ; wrp i l r = linLin i (-1) 1 l r
> ; pm_n rt l d = let { le = mkls l d
> ; re = mkls l d }
> in do { n <- whiteNoise rt
> ; return (wrp n le re) }
> ; rrand l r = getStdRandom (randomR (l, r))
> ; gb b d = do { gps <- pm_n AR [(0, 400), (1, 900)] d
> ; let { t = impulse AR gps 0
> ; pm_f (l, r) = pm_t l r d t }
> in do { du <- pm_f ([(0, 0.005), (0.5, 0.015), (1, 0.005)]
> ,[(0, 0.009), (0.5, 0.020), (1, 0.009)])
> ; pn <- pm_f ([(0, -1.0), (0.5, -0.5), (1, 0.5)]
> ,[(0, -0.5), (0.5, 0.5), (1, 1.0)])
> ; rt <- pm_f ([(0, 6), (0.5, 12), (1, 6)]
> ,[(0, 12), (0.5, 12), (1, 12)])
> ; cs <- pm_f ([(0, 0), (1, 0.95)]
> ,[(0, 0), (1, 1)])
> ; am <- pm_f ([(0, 0.25), (0.5, 0.55), (1, 0.15)]
> ,[(0, 0.5), (0.5, 0.75), (1, 0.25)])
> ; let cs' = cs * (bufDur KR b)
> in return (tGrains 2 t b rt cs' du pn am 2) } }
> ; fn = "/home/rohan/audio/text.snd" }
> in withSC3 (\fd -> do { async fd (b_allocRead 10 fn 0 0)
> ; play fd . (out 0) =<< gb 10 12 })