packages feed

hsc3-0.4: Help/Graphs/lg-timed.lhs

lg-timed (rd)

> let { timed r y p =
>       do { d0 <- M.dser r p
>          ; d1 <- M.dcons 0 d0
>          ; d2 <- M.dser r y
>          ; let t = tDuty ar d1 0 RemoveSynth d2 1
>            in return (latch t t) }
>     ; lg u = return (lag u 0.03)
>     ; n = mce [52, 76, 66, 67, 68, 69]
>     ; a = mce [0.35, 0.15, 0.04, 0.05, 0.16, 0.07]
>     ; d = mce [0.1, 0.5, 0.09, 0.08, 0.07, 0.3]
>     ; x = mouseX kr 0.5 1.25 Linear 0.2 }
> in do { tn <- lg =<< timed dinf n (d * x)
>       ; ta <- lg =<< timed dinf a (d * x)
>       ; audition (out 0 (sinOsc ar (midiCPS tn) 0 * ta)) }

{ var dcons = { arg x, xs
              ; var i = Dseq.new([0, 1], 1)
              ; var a = Dseq.new([x, xs], 1)
              ; Dswitch.new(a, i) }
; var timed = { arg r, y, p
              ; var d0 = Dser.new(p, r)
              ; var d1 = dcons.value(0, d0)
              ; var d2 = Dser.new(y, r)
              ; var t = TDuty.ar(d1, 0, d2, 2, 1)
              ; Latch.ar(t, t) }
; var lg = { arg u
           ; Lag.ar(u, 0.03) }
; var n = [52, 76, 66, 67, 68, 69]
; var a = [0.35, 0.15, 0.04, 0.05, 0.16, 0.07]
; var d = [0.1, 0.5, 0.09, 0.08, 0.07, 0.3]
; var x = MouseX.kr(0.5, 1.25, 'linear', 0.2)
; var tn = lg.value(timed.value(inf, n, d * x))
; var ta = lg.value(timed.value(inf, a, d * x))
; Out.ar(0, SinOsc.ar(tn.midicps, 0) * ta) }.play