-- modal space (jmcc) #8 module Sound.SC3.Graph.JMCC_modal_space_buf where import Sound.OSC {- hosc -} import Sound.SC3 {- hsc3 -} ms :: UGen -> UGen -> UGen ms n r = let x = mouseX KR 0 15 Linear 0.1 k = degreeToKey 0 x 12 o = sinOsc AR (midiCPS (r + k + n * 0.04)) 0 * 0.1 t = lfPulse AR (midiCPS (mce2 48 55)) 0 0.15 f = midiCPS (sinOsc KR 0.1 0 * 10 + r) d = rlpf t f 0.1 * 0.1 m = o + d in combN m 0.31 0.31 2 + m modal_space :: UGen modal_space = let n = uclone 'α' 2 (lfNoise1 'β' KR 3) in (ms n 48 + ms n 72) * 0.25 run :: Transport m => m () run = do let p = [0,2,3.2,5,7,9,10] _ <- async (b_alloc_setn1 0 0 p) play (out 0 modal_space) main :: IO () main = withSC3 run