hsc3-0.15: Help/UGen/Demand/dseq.help.lhs
> Sound.SC3.UGen.Help.viewSC3Help "Dseq"
> Sound.SC3.UGen.DB.ugenSummary "Dseq"
> import Sound.SC3.ID
> let {n = dseq 'α' 3 (mce [1, 3, 2, 7, 8])
> ;x = mouseX KR 1 40 Exponential 0.1
> ;t = impulse KR x 0
> ;f = demand t 0 n * 30 + 340}
> in audition (out 0 (sinOsc AR f 0 * 0.1))
At audio rate.
> let {n = dseq 'α' dinf (mce [1,3,2,7,8,32,16,18,12,24])
> ;x = mouseX KR 1 10000 Exponential 0.1
> ;t = impulse AR x 0
> ;f = demand t 0 n * 30 + 340}
> in audition (out 0 (sinOsc AR f 0 * 0.1))
The SC2 Sequencer UGen is somewhat like the sequ function below
> let {sequ e s tr = demand tr 0 (dseq e dinf (mce s))
> ;t = impulse AR 6 0
> ;n0 = sequ 'α' [60,62,63,58,48,55] t
> ;n1 = sequ 'β' [63,60,48,62,55,58] t
> ;o = lfSaw AR (midiCPS (mce2 n0 n1)) 0 * 0.1}
> in audition (out 0 o)
Rather than MCE expansion at /tr/, it can be clearer to view /tr/ as a
functor.
> let {tr = impulse KR (mce [2,3,5]) 0
> ;f t = demand t 0 (dseq t dinf (mce [60,63,67,69]))
> ;m = mceMap f tr
> ;o = sinOsc AR (midiCPS m) 0 * 0.1}
> in audition (out 0 (splay o 1 1 0 True))