hsc3-graphs-0.15: gr/e-lamell-p.hs
-- e-lamell-p (rd)
import Sound.SC3 {- hsc3 -}
import qualified Sound.SC3.Lang.Pattern.Plain as P {- hsc3-lang -}
e_lamell :: UGen
e_lamell =
let ctl = control KR
f = ctl "freq" 440
a = ctl "amp" 1
d = ctl "d" 0.1
n = ctl "n" 12
l = ctl "l" 0
t = lchoose 'α' [1,32]
h = line AR n t d DoNothing
s = blip AR f h
e_d = envPerc 0.005 d
e = envGen AR 1 a 0 1 RemoveSynth e_d
in pan2 s l e
patterns :: [(Synthdef,P.Param)]
patterns =
let sy = synthdef "e-lamell" (out 0 e_lamell)
to_cps = P.degree_to_cps' [0,2,4,5,7,9,11] 12
in [(sy,[("freq",to_cps (P.rand 'β' [0,2,5,7]) (P.wrand 'γ' [2,3,4,5] [0.2,0.35,0.35,0.1]))
,("dur",repeat 0.1)
,("d",P.white 'δ' 0.01 0.8)
,("amp",P.white 'ε' 0 0.75)
,("n",P.white 'ζ' 2 36)
,("l",P.white 'η' (-1) 1)])
,(sy,[("freq",to_cps (P.rand 'θ' [0]) (P.rand 'ι' [1,2,3]))
,("dur",repeat 0.1)
,("d",P.white 'κ' 0.01 1.2)
,("amp",P.rand 'λ' [0,0.25,0.5,1])
,("n",P.white 'μ' 2 36)
,("l",P.white 'ν' (-1) 1)])]
main :: IO ()
main = audition (P.sbind patterns)