GEN41
Prev | Score Statements and GEN Routines | Next

## GEN41

GEN41 — Generates a random list of numerical pairs.

## Description

Generates a discrete random distribution function by giving a list of numerical pairs.

## Syntax

    f # time size -41 value1 prob1 value2 prob2 value3 prob3 ... valueN probN

## Performance

The first number of each pair is a value, and the second is the probability of that value to be chosen by a random algorithm. Even if any number can be assigned to the probability element of each pair, it is suggested to give it a percent value, in order to make it clearer for the user.

This subroutine is designed to be used together with duserrnd and urd opcodes (see duserrnd for more information).

## Examples

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

Example 1003. Example of the GEN41 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 GEN41.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1

    k1   duserrnd 1
         printk 0, k1
    asig poscil .5, 220*k1, 2
         outs asig, asig

    endin
    </CsInstruments>
    <CsScore>
    f1 0 -20 -41  2 .1 8 .9	;choose 2 at 10% probability, 8 at 90%

    f2 0 8192 10 1

    i1 0 2
    e
    </CsScore>
    </CsoundSynthesizer>

Its output should include lines like these:

    i   1 time     0.00067:     8.00000
    i   1 time     0.00133:     8.00000
    i   1 time     0.00200:     8.00000
    i   1 time     0.00267:     8.00000
    i   1 time     0.00333:     2.00000
    i   1 time     0.00400:     8.00000
    i   1 time     0.00533:     8.00000
    i   1 time     0.00600:     8.00000
    ..........

This is the diagram of the waveform of the GEN41 routine, as used in the example:

f 1 0 -20 -41 2 .1 8 .9

## Credits

Author: Gabriel Maldonado

Prev | Up | Next
GEN40 | Home | GEN42