hsc3-graphs-0.14: Sound/SC3/Graph/JMCC_birds_hp.hs
-- birds (jmcc)
-- http://lists.create.ucsb.edu/pipermail/sc-users/2007-April/033239.html
{-# OPTIONS_GHC -F -pgmF hsc3-hash-paren #-}
module Sound.SC3.Graph.JMCC_birds_hp where
import Sound.SC3.Monad {- hsc3 -}
node :: UId m => m UGen
node = do
let f = lag (lfSaw AR (7 + #(rand (-1.5) 1.5)) #(rand 0 1) * #(rand 11 15)) 0.1 + #(rand 94 102)
let a = lfPulse KR (1 / #(rand 12 15.6)) #(rand 0 1) 0.16 * 0.05
let b = sinOsc AR (midiCPS f) #(rand 0 1) * a
return (rotate2 b (silent 1) #(rand (-1) 1))
birds :: UId m => m UGen
birds = do
d <- return . sum =<< sequence (replicate 6 node)
let apf i = do return (allpassL i 0.07 #(rand 0 0.06) #(rand 0.7 2.0))
w <- chainM 12 apf d
return (d * 0.7 + w * 0.3)
main :: IO ()
main = audition . out 0 =<< birds