hsc3-0.3: Help/Graphs/lg-timed.lhs
lg-timed (rd)
> let { timed r y p =
> do { d0 <- dser r p
> ; d1 <- dcons 0 d0
> ; d2 <- 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