40 lines
1.3 KiB
Scheme
40 lines
1.3 KiB
Scheme
|
;; (duty rate duration reset doneAction level)
|
||
|
|
||
|
;; demand results from demand rate ugens
|
||
|
|
||
|
;; A value is demanded from each ugen in the list and output 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 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.
|
||
|
|
||
|
(let* ((f (duty kr
|
||
|
(drand dinf (mce3 0.01 0.2 0.4))
|
||
|
0
|
||
|
2
|
||
|
(dseq dinf (make-mce (list 204 400 201 502 300 200)))))
|
||
|
(o (sin-osc ar (mul f (mce2 1 1.01)) 0)))
|
||
|
(audition (out 0 (mul o 0.1))))
|
||
|
|
||
|
(let* ((f (duty kr
|
||
|
(mouse-x kr 0.001 2 1 0.1)
|
||
|
0
|
||
|
2
|
||
|
(dseq dinf (make-mce (list 204 400 201 502 300 200)))))
|
||
|
(o (sin-osc ar (mul f (mce2 1 1.0)) 0)))
|
||
|
(audition (out 0 (mul o 0.1))))
|