hsc3-0.5: Help/Graphs/sosc-lp.lhs
sosc-lp (rd)
> import Sound.SC3
> let { dustR r lo hi = do { n1 <- dwhite 1 lo hi
> ; n2 <- whiteNoise r
> ; d <- dseq dinf n1
> ; return (tDuty r d 0 DoNothing (abs n2) 1) }
> ; a = [60, 71, 89, 65, 36, 57, 92, 97, 92, 97]
> ; b = [71, 89, 60, 57, 65, 36, 95, 92, 93, 97]
> ; setup fd = do { async fd (b_alloc 10 9 1)
> ; async fd (b_alloc 11 9 1)
> ; send fd (b_setn1 10 0 a)
> ; send fd (b_setn1 11 0 b) }
> ; d_env t = decay2 t 0.002 2.5
> ; idx t = stepper t 0 0 15 1 0
> ; f1 t = let { l = (bufRdL 1 kr 10 (idx t) Loop - 24)
> ; r = (bufRdL 1 kr 11 (idx t) Loop - 24) }
> in midiCPS (mce2 l r)
> ; f2 t n = f1 t + n * 1.2
> ; o1 t = sinOsc ar (f1 t) 0 * d_env t
> ; o2 t n = sinOsc ar (f2 t n) 0 * d_env t
> ; sosc_lp t n = out 0 ((o1 t + o2 t n) * 0.2) }
> in do { clk <- dustR kr 0.2 0.9
> ; n <- lfNoise0 kr (mce2 1 3)
> ; audition (sosc_lp clk n) }
> let { a = [71, 60, 65, 89, 36, 57, 95, 97, 92, 97]
> ; b = [89, 71, 60, 65, 57, 36, 92, 95, 93, 97]
> ; resetup fd = do { send fd (b_setn1 10 0 a)
> ; send fd (b_setn1 11 0 b) } }
> in withSC3 resetup