hsc3-graphs-0.15: Sound/SC3/Graph/JMCC_bouncing_objects.hs
-- bouncing objects (jmcc) #2
module Sound.SC3.Graph.JMCC_bouncing_objects where
import Sound.SC3 {- hsc3 -}
import Sound.SC3.Lang.Control.OverlapTexture {- hsc3-lang -}
import qualified Sound.SC3.Lang.Random.ID as R {- hsc3-lang -}
import Sound.SC3.UGen.External.RDU {- sc3-rdu -}
bouncing_objects :: UGen
bouncing_objects =
let imp_frq = xLine KR (5 + rand 'α' (-2) 2) 600 4 DoNothing
imp_amp = xLine KR 0.09 0.000009 4 DoNothing
imp = impulse AR imp_frq 0 * imp_amp
exc = decay imp 0.001
flt_frq = randN 4 'β' 400 8400
flt_amp = randN 4 'γ' 0 1
flt_rtm = randN 4 'δ' 0.01 0.11
flt = klank exc 1 0 1 (klankSpec_mce flt_frq flt_amp flt_rtm)
loc = pan2 flt (rand 'ε' (-1) 1) 1
e = Envelope [1,1,0] [3,0.001] (replicate 2 EnvLin) Nothing Nothing
in loc * envGen KR 1 1 0 1 RemoveSynth e
main :: IO ()
main = spawnTextureU (\i -> R.rrand i 0.6 1.6,maxBound) bouncing_objects