GEN02 — Transfers data from immediate pfields into a function table.
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. |
Here is an example of the GEN02 routine. It uses the files gen02.csd.
Example 1267. 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: