GEN02
Prev | Score Statements and GEN Routines | Next

## GEN02

GEN02 — Transfers data from immediate pfields into a function table.

## Description

This subroutine transfers data from immediate pfields into a function table.

## Syntax

    f # time size 2 v1 v2 v3 ...

## Initialization

size -- number of points in the table. The maximum tablesize is 16777216 (224) points. The value may be given as zero, in which case the number of values decides the table length.

v1, v2, v3, etc. -- values to be copied directly into the table space. The values copied may include the table guard point; any table locations not filled will contain zeros.

| Note
If p4 (the GEN routine number) is positive, the table will be post-normalized (rescaled to a maximum absolute value of 1 after generation). A negative p4 will cause rescaling to be skipped. You will usually want to use -2 with this GEN function, so that your values are not normalized.

## Examples

Here is an example of the GEN02 routine. It uses the files gen02.csd.

Example 1230. Example of the GEN02 routine.

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 realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o gen02.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    ifn  = p4				;choose different tables of GEN02
    kcps init 1/p3				;index over the length of entire note
    kndx phasor kcps
    ixmode = 1				;normalize index data
    kamp tablei kndx, ifn, ixmode
    asig poscil kamp, 440, 1		;use GEN02 as envelope for amplitude
         outs asig, asig

    endin
    </CsInstruments>
    <CsScore>
    f 1 0 8192 10 1	;sine wave
    f 2 0 5 2 0 2 0
    f 3 0 5 2 0 2 10 0
    f 4 0 9 2 0 2 10 100 0

    i 1 0 2 2
    i 1 3 2 3
    i 1 6 2 4
    e
    </CsScore>
    </CsoundSynthesizer>

These are the diagrams of the waveforms of the GEN02 routines, as used in the example:

f 2 0 5 2 0 2 0

f 3 0 5 2 0 2 10 0

f 4 0 9 2 0 2 10 100 0

## See Also

GEN17

## Credits

December 2002. Thanks to Rasmus Ekman, corrected the limit of the PMAX variable.

Use of length zero new in version 6.12

Prev | Up | Next
GEN01 | Home | GEN03