34 lines
806 B
Racket
34 lines
806 B
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{(tw-index in normalize array)}
|
|
|
|
|
|
triggered windex. When triggered, returns a random index value
|
|
based on array as a list of probabilities. By default the list of
|
|
probabilities should sum to 1.0, when the normalize flag is set to
|
|
1, the values get normalized by the ugen (less efficient)
|
|
|
|
Assuming normalized values
|
|
|
|
|
|
@racketblock[
|
|
(audition
|
|
(let* ((prob (mce3 1/5 2/5 2/5))
|
|
(freq (mce3 400 500 600))
|
|
(f (select (tw-index (impulse kr 6 0) 0.0 prob) freq)))
|
|
(out 0 (mul (sin-osc ar f 0) 0.2))))
|
|
]
|
|
|
|
Modulating probability values
|
|
|
|
|
|
@racketblock[
|
|
(audition
|
|
(let* ((t (impulse kr 6 0))
|
|
(a (mce3 1/4 1/2 (mul-add (sin-osc kr 0.3 0) 0.5 0.5)))
|
|
(f (select (tw-index t 1.0 a) (mce3 400 500 600))))
|
|
(out 0 (mul (sin-osc ar f 0) 0.2))))
|
|
]
|
|
|
|
|