randi
Generates a controlled random number series with interpolation between each new number.
Syntax
ares randi xamp, xcps [, iseed] [, isize] [, ioffset]
kres randi kamp, kcps [, iseed] [, isize] [, ioffset]
Initialization
iseed (optional, default=0.5) -- seed value for the recursive pseudo-random formula. A value between 0 and +1 will produce an initial output of kamp * iseed. A negative value will cause seed re-initialization to be skipped. A value greater than 1 will seed from system time, this is the best option to generate a different random sequence for each run.
isize (optional, default=0) -- if zero, a 16 bit number is generated. If non-zero, a 31-bit random number is generated. Default is 0.
ioffset (optional, default=0) -- a base value added to the random result. New in Csound version 4.03.
Performance
kamp, xamp -- range over which random numbers are distributed.
kcps, xcps -- the frequency which new random numbers are generated.
The internal pseudo-random formula produces values which are uniformly distributed over the range kamp to -kamp. rand will thus generate uniform white noise with an R.M.S value of kamp / root 2.
The remaining units produce band-limited noise: the kcps and xcps parameters permit the user to specify that new random numbers are to be generated at a rate less than the sampling or control frequencies. randi will produce straight-line interpolation between each new number and the next.
Examples
Here is an example of the randi opcode. It uses the file randi.csd.
The example will produce the following output:
i 1 time 0.00067: 50.00000
i 1 time 0.50000: -75.81672
i 1 time 1.00000: 95.93833
WARNING: Seeding from current time 1482746120
i 2 time 2.00067: -17.94434
i 2 time 2.50000: -14.11875
i 2 time 3.00000: -72.41545