seed

seed — Sets the global seed value.

Description

Sets the global seed value for all x-class noise generators, as well as other opcodes that use a random call, such as grain.

[Note] Please Note

rand, randh, randi, rnd(x) and birnd(x) are not affected by seed.

Syntax

seed ival

Performance

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.

Examples

Here is an example of the seed opcode. It uses the file seed.csd.

Example 792. 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