packages feed

hsc3-0.2: Help/UGen/Demand/tDuty.help.lhs

tDuty rate duration reset doneAction level

Demand results as trigger from demand rate ugens.

A value is demanded each ugen in the list and output as a trigger
according to a stream of duration values.  The unit generators in
the list should be 'demand' rate.  When there is a trigger at the
reset input, the demand rate ugens in the list and the duration are
reset.  The reset input may also be a demand ugen, providing a
stream of reset times.

duration   - time values. Can be a demand ugen or any signal.
             The next trigger value is acquired after the
             duration provided by the last time value.

reset      - trigger or reset time values. Resets the list of ugens
             and the duration ugen when triggered. The reset input
             may also be a demand ugen, providing a stream of reset
             times.

doneAction - a doneAction that is evaluated when the duration
             stream ends.

level      - demand ugen providing the output values.

Play a little rhythm

> do { d <- dseq dinf (mce [0.1, 0.2, 0.4, 0.3])
>    ; audition (out 0 (tDuty AR d 0 DoNothing 1)) }

Amplitude changes

> do { d0 <- dseq dinf (mce [0.1, 0.2, 0.4, 0.3])
>    ; d1 <- dseq dinf (mce [0.1, 0.4, 0.01, 0.5, 1.0])
>    ; audition (out 0 (ringz (tDuty AR d0 0 DoNothing d1) 1000 0.1)) }

Mouse control.

> do { d <- dseq dinf (mce [0.1, 0.4, 0.01, 0.5, 1.0])
>    ; let x = mouseX KR 0.001 1 Linear 0.1
>      in audition (out 0 (ringz (tDuty AR x 0 DoNothing d) 1000 0.1)) }

Note that the 440 is the long pitch.

> do { d0 <- dser 12 (mce [0.1, 0.3])
>    ; d1 <- dser 12 (mce [440, 880])
>    ; let t = tDuty AR d0 0 RemoveSynth d1
>      in audition (out 0 (sinOsc AR (latch t t) 0 * 0.1)) }