-- bit reduction (adc) import Sound.SC3 {- hsc3 -} sample_rate_decrease :: UGen sample_rate_decrease = let f = lfNoise2 'α' KR 8 nh = lfNoise2 'β' KR 3 src = blip AR (f * 200 + 300) (nh * 10 + 20) sr = mouseX KR 1000 (sampleRate * 0.1) Exponential 0.2 in latch src (impulse AR sr 0) bit_rate_decrease :: UGen bit_rate_decrease = let f = lfNoise2 'γ' KR 8 nh = lfNoise2 'δ' KR 3 src = blip AR (f * 200 + 300) (nh * 10 + 20) sr = mouseX KR 1000 (sampleRate * 0.1) Exponential 0.2 bit_sz = mouseY KR 1 24 Exponential 0.2 down_sample = latch src (impulse AR sr 0) bit_redux = roundTo down_sample (0.5 ** bit_sz) in mce2 down_sample bit_redux -- > Sound.SC3.UGen.Dot.draw (sample_rate_decrease + bit_rate_decrease) main :: IO () main = audition (out 0 (sample_rate_decrease + bit_rate_decrease))