seed
Prev | Orchestra Opcodes and Operators | Next

## 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.

| 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 910. 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

Prev | Up | Next
trighold | Home | sekere