packages feed

hsc3-graphs-0.15: Sound/SC3/Graph/JMCC_pond_life_hp.hs

-- pond life (jmcc) #1
{-# OPTIONS_GHC -F -pgmF hsc3-hash-paren #-}
module Sound.SC3.Graph.JMCC_pond_life_hp where

import Sound.SC3 {- hsc3 -}
import Sound.SC3.Lang.Control.OverlapTexture {- hsc3-lang -}

pond_life :: UId m => m UGen
pond_life = do
  let f = fSinOsc KR (20 + #(randM 0 30)) 0
          * #(randM 100 400)
          + #(linRandM 500 2500 0)
  let a = lfPulse KR (3 / #(randM 1 9)) 0 #(randM 0.2 0.5) * 0.04
  return (pan2 (sinOsc AR f 0 * a) #(randM (-1) 1) 0.5)

main :: IO ()
main = overlapTextureU (8,8,4,maxBound) =<< pond_life