hsc3-graphs-0.15: Sound/SC3/Graph/JMCC_analogue_daze.hs
-- analogue daze (jmcc) #3
module Sound.SC3.Graph.JMCC_analogue_daze where
import Sound.SC3 {- hsc3 -}
analogue_daze :: UGen
analogue_daze =
let pattern = [55,63,60,63,57,65,62,65]
sequ k s tr = demand tr 0 (dseq k dinf (mce s))
f k octave clockRate pwmrate fltrate =
let trg = impulse KR clockRate 0
pattern' = map (midiCPS . (+ (12 * octave))) pattern
sq = sequ 'α' pattern' trg
pwm = sinOsc KR pwmrate (rand ('β' `joinID` k) 0 (2 * pi)) * 0.4 + 0.5
cf = sinOsc KR fltrate (rand ('γ' `joinID` k) 0 (2 * pi)) * 1400 + 2000
in rlpf (lfPulse AR (lag sq 0.05) 0 pwm * 0.1) cf (1/15)
a = lfNoise0 'δ' AR (lfNoise1 'ε' KR 0.3 * 6000 + 8000) * (mce2 0.07 0.08)
x = decay (impulse AR 2 0) 0.15 * a
g = mce [f 'ζ' 1 8 0.31 0.2,f 'η' 0 2 0.13 0.11] + x
z = 0.4 * (combN g 0.375 0.375 5 + mceReverse g)
e = envLinen 2 56 2 1
in z * envGen KR 1 1 0 1 RemoveSynth e
main :: IO ()
main = audition (out 0 analogue_daze)