packages feed

hsc3-rec-0.11: Help/analog-bubbles.hs

{-# LANGUAGE DisambiguateRecordFields #-}

import Sound.SC3
import Sound.SC3.UGen.Record
import Sound.SC3.UGen.Record.CombN
import Sound.SC3.UGen.Record.LFSaw
import Sound.SC3.UGen.Record.Out
import Sound.SC3.UGen.Record.SinOsc

analog_bubbles :: UGen
analog_bubbles =
    let o = ugen LFSaw {rate = KR
                       ,freq = mce2 8 7.23
                       ,iphase = 0} * 3 + 80
        f = ugen LFSaw {rate = KR
                       ,freq = 0.4
                       ,iphase = 0} * 24 + o
        s = ugen SinOsc {rate = AR
                        ,freq = midiCPS f
                        ,phase = 0} * 0.04
        c = ugen CombN {rate = AR
                       ,input = s
                       ,maxdelaytime = 0.2
                       ,delaytime = 0.2
                       ,decaytime = 4}
    in ugen Out {rate = AR
                ,bus = mce2 0 1
                ,input = c}

main :: IO ()
main = audition analog_bubbles

{-
Sound.SC3.UGen.Dot.draw analog_bubbles
-}