seed — Sets the global seed value.
Sets the global seed value for all x-class noise generators, as well as other opcodes that use a random call, such as grain.
Use of seed will provide predictable results from an orchestra using with random generators, when required from multiple performances.
When specifying a seed value, ival should be an integer between 0 and 232. If ival = 0, the value of ival will be derived from the system clock.
Here is an example of the seed opcode. It uses the file seed.csd.
Example 935. Example of the seed opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o seed.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ;same values every time seed 10 krnd randomh 100, 200, 5 printk .5, krnd ; look aout oscili 0.8, 440+krnd, 1 ; & listen outs aout, aout endin instr 2 ;different values every time - value is derived from system clock seed 0 ; seed from system clock krnd randomh 100, 200, 5 printk .5, krnd ; look aout oscili 0.8, 440+krnd, 1 ; & listen outs aout, aout endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ;sine wave. i 1 0 1 i 2 2 1 e </CsScore> </CsoundSynthesizer>
Its output should include lines like:
i 1 time 0.00067: 100.00000 i 1 time 0.50000: 175.78677 i 1 time 1.00000: 170.89579 WARNING: Seeding from current time 834128659 i 2 time 2.00067: 100.00000 i 2 time 2.50000: 197.58517 i 2 time 3.00000: 188.69525