60 lines
1.1 KiB
Text
60 lines
1.1 KiB
Text
class:: LinRand
|
|
summary:: Skewed random number generator.
|
|
related:: Classes/ExpRand, Classes/IRand, Classes/NRand, Classes/Rand, Classes/TExpRand, Classes/TIRand, Classes/TRand
|
|
categories:: UGens>Random
|
|
|
|
Description::
|
|
|
|
Generates a single random float value in linear distribution from
|
|
code::lo:: to code::hi:: , skewed towards
|
|
code::lo:: if code::minmax:: < 0, otherwise
|
|
skewed towards code::hi:: .
|
|
|
|
|
|
classmethods::
|
|
|
|
method::new
|
|
|
|
argument::lo
|
|
Lower limit of the output range.
|
|
|
|
argument::hi
|
|
Upper limit of the output range.
|
|
|
|
argument::minmax
|
|
The output is skewed towards code::lo:: if code::minmax:: < 0, otherwise skewed towards code::hi::.
|
|
|
|
Examples::
|
|
|
|
code::
|
|
|
|
(
|
|
SynthDef("help-LinRand", { arg out=0, minmax=1;
|
|
Out.ar(out,
|
|
FSinOsc.ar(
|
|
LinRand(200.0, 10000.0, minmax),
|
|
0, Line.kr(0.2, 0, 0.01, doneAction: Done.freeSelf))
|
|
)
|
|
}).add;
|
|
)
|
|
|
|
//towards hi
|
|
(
|
|
Routine({
|
|
loop({
|
|
Synth.new("help-LinRand"); 0.04.wait;
|
|
})
|
|
}).play;
|
|
)
|
|
|
|
//towards lo (doesn't work like that yet)
|
|
(
|
|
Routine({
|
|
loop({
|
|
Synth.new("help-LinRand", [\minmax, -1]); 0.04.wait;
|
|
})
|
|
}).play;
|
|
)
|
|
|
|
::
|
|
|