a — Set seed for random numbers.
p1 -- An integer value between 0 and 232 used as a new seed for random numbers. If omitted, the system clock value will be used instead.
The tilde symbol ˜ can be used in an expression wherever a number is permissible to use. Each ˜ will evaluate to a random value between zero (0) and one (1). If there is no y statement in the score, the pseudo-random generator will yield the same numbers in each performance. If a fixed seed is given, a different predictable series of pseudo-random numbers will be generated from this seed. If a y statement is used without p1, the system clock will be used as a seed, yielding a different series of pseudo-random numbers for each performance.
Here is an example of the y statement. It uses the file y_statement.csd.
Example 1287. Example of the y statement.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o 0dbfs.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 ksmps = 10 nchnls = 2 0dbfs = 1 instr 1 print p4 endin </CsInstruments> <CsScore> y i 1 0 1 [~ * 9 + 1] i 1 + 1 [~ * 9 + 1] i 1 + 1 [~ * 9 + 1] i 1 + 1 [~ * 9 + 1] e </CsScore> </CsoundSynthesizer>
Each time this example is run, different values between 1 and 10 will be displayed.
The seed used will be displayed as well.