hdf-0.15: gr/analog-bubbles-no-mce.hs
import Sound.DF.Uniform.GADT {- hdf -}
import qualified Sound.DF.Uniform.LL as L {- hdf -}
-- > draw analog_bubbles
-- > let dir = "/home/rohan/opt" -- "/usr/local"
-- > L.dl_gen "/tmp/analog-bubbles" (L.SC3,dir) (df_instructions analog_bubbles)
analog_bubbles :: DF ()
analog_bubbles =
let bimap f g (a,b) = (f a,g b)
bimap1 f = bimap f f
mk_o f = lf_saw f 0.0 * 3.0 + 80.0
mk_f a = lf_saw 0.4 0.0 * 24.0 + a
mk_s f = sin_osc (midi_cps f) 0.0 * 0.04
mk_c k z s = comb_n' k z s 0.2 4.0
mk_c' = bimap (\z -> mk_c (L.V_Id 0) 0.2 z) (\z -> mk_c (L.V_Id 1) 0.4 z)
c = mk_c' (bimap1 (mk_s . mk_f . mk_o) (8.0,7.23))
in uncurry out2 c
main :: IO ()
main = audition_rju [] analog_bubbles