vrandi
Generate a sort of 'vectorial band-limited noise'
Syntax
Initialization
ifn - number of the table where the vectorial signal will be generated
ielements - number of elements to process
idstoffset - (optional, default=0) -- index offset for the destination table
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.
Performance
krange - range of random elements (from -krange to krange)
kcps - rate of generated elements in cycles per seconds
This opcode is similar to randi, but operates on vectors instead of with scalar values.
Though argument isize defaults to 0, thus using a 16-bit random number generator, using the newer 31-bit algorithm is recommended, as this will produce a random sequence with a longer period (more random numbers before the sequence starts repeating).
The output is a vector contained in ifn (that must be previously allocated).
All these operators are designed to be used together with other opcodes that operate with vector such as adsynt, etc.
Examples
Here is an example of the vrandi opcode. It uses the file vrandi.csd.
See also
Vectorial Random Signal Generators
Credits
Written by Gabriel Maldonado.
New in Csound 5 (Previously available only on CsoundAV)