packages feed

hsc3-0.4: Help/Graphs/chrd.lhs

chrd (rd)

> let chrd = do { r0 <- M.rand 0.05 0.5
>               ; [r1, r2] <- replicateM 2 (M.rand (-1) 1)
>               ; r3 <- M.rand 0.15 0.35
>               ; r4 <- M.rand 0.005 0.01
>               ; let { m = mce [60, 65, 72, 77, 79, 84]
>                     ; ds = 3
>                     ; d = mce (map (* ds) [5, 4, 5, 7, 4, 5])
>                     ; f = midiCPS (xLine kr m (m + r0) d DoNothing)
>                     ; z = envTrapezoid 0 r3 d r4
>                     ; e = envGen kr 1 1 0 1 DoNothing z
>                     ; p = xLine kr r1 r2 d DoNothing
>                     ; o = fSinOsc ar f 0 }
>                 in return (mix (pan2 o p e)) }
> in audition . out 0 . mix =<< clone 9 chrd

{ var chrd = { var r0 = Rand.new(0.05, 0.5)
             ; var r1 = Rand.new(-1, 1)
             ; var r2 = Rand.new(-1, 1)
             ; var r3 = Rand.new(0.15, 0.35)
             ; var r4 = Rand.new(0.005, 0.01)
             ; var m = [60, 65, 72, 77, 79, 84]
             ; var ds = 3
             ; var d = [5, 4, 5, 7, 4, 5] * ds
             ; var f = XLine.kr(m, m + r0, d).midicps
             ; var z_ = Env.linen(r3 * d, 0, (1 - r3) * d, r4)
             ; var z = Env.sine(d.maxItem, r4)
             ; var e = EnvGen.kr(z, 1, 1, 0, 1)
             ; var p = XLine.kr(r1, r2, d)
             ; var o = SinOsc.ar(f, 0)
             ; Mix.ar(Pan2.ar(o, p, e)) }
; Out.ar(0, Mix.fill(9, chrd)) }.play