packages feed

hsc3-graphs-0.8: src/harmonic-swimming.lhs

harmonic swimming (jmcc)

> import Sound.SC3.Monadic

> main =
>   let { a = 0.02
>       ; f = 50
>       ; p = 20
>       ; l = line kr 0 (- a) 60 DoNothing 
>       ; o h = do { r <- clone 2 (rand 2 8)
>                  ; n <- lfNoise1 kr r
>                  ; let e = max 0 (n * a + l)
>                    in return (fSinOsc ar (f * (h + 1)) 0 * e) } }
>   in audition . out 0 . sum =<< mapM o [0..p]

{ var a = 0.02
; var f = 50
; var p = 20
; var l = Line.kr(0, a.neg, 60, 0)
; var o = { arg h
          ; var r = 6 + [Rand.new(-4, 4), Rand.new(-4, 4)]
          ; var n = LFNoise1.kr(r)
          ; var e = max(0, n * a + l)
          ; FSinOsc.ar(f * (h + 1), 0) * e }
; Out.ar(0, (0..p).collect(o).sum) }.play