packages feed

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