-- tgrn (rd) import Sound.OpenSoundControl import Sound.SC3.ID tgrn :: UGen -> UGen tgrn b = let trate = mouseY' KR 2 120 Exponential 0.1 dur = 1.2 / trate clk = impulse AR trate 0 pos = mouseX' KR 0 (bufDur KR b) Linear 0.1 pan = whiteNoise 'α' KR * 0.6 n = roundTo (whiteNoise 'β' KR * 3) 1 rate = shiftLeft 1.2 n in tGrains 2 clk b rate pos dur pan 0.5 2 run :: Transport t => t -> IO () run fd = do let fn = "/home/rohan/data/audio/pf-c5.snd" _ <- async fd (b_allocRead 10 fn 0 0) play fd (out 0 (tgrn 10)) main :: IO () main = withSC3 run