56 lines
1.1 KiB
Text
56 lines
1.1 KiB
Text
|
class:: RandID
|
||
|
summary:: Set the synth's random generator ID.
|
||
|
related:: Classes/RandSeed
|
||
|
categories:: UGens>Generators>Stochastic, UGens>Random
|
||
|
|
||
|
|
||
|
Description::
|
||
|
|
||
|
Choose which random number generator to use for this synth.
|
||
|
All synths that use the same generator reproduce the same sequence
|
||
|
of numbers when the same seed is set again.
|
||
|
|
||
|
|
||
|
classmethods::
|
||
|
|
||
|
method::kr, ir
|
||
|
|
||
|
argument::id
|
||
|
The random number generator ID.
|
||
|
|
||
|
Examples::
|
||
|
|
||
|
code::
|
||
|
|
||
|
//start a noise patch and set the id of the generator
|
||
|
(
|
||
|
SynthDef("help-RandID", { arg out=0, id=1;
|
||
|
RandID.ir(id);
|
||
|
Out.ar(out,
|
||
|
WhiteNoise.ar(0.05) + Dust2.ar(70)
|
||
|
)
|
||
|
}).add;
|
||
|
)
|
||
|
|
||
|
//reset the seed of my rgen at a variable rate
|
||
|
(
|
||
|
SynthDef("help-RandSeed", { arg seed=1910, id=1;
|
||
|
RandID.kr(id);
|
||
|
RandSeed.kr(Impulse.kr(FSinOsc.kr(0.2, 0, 10, 11)), seed);
|
||
|
}).add;
|
||
|
|
||
|
)
|
||
|
|
||
|
//start two noise synths on left and right channel with a different randgen id
|
||
|
a = Synth("help-RandID", [\out, 0, \id, 1]);
|
||
|
b = Synth("help-RandID", [\out, 1, \id, 2]);
|
||
|
|
||
|
//reset the seed of randgen 1
|
||
|
x = Synth("help-RandSeed", [\id, 1]);
|
||
|
|
||
|
//change the target randgen to 2 (affects right channel)
|
||
|
x.set(\id, 2);
|
||
|
|
||
|
::
|
||
|
|