QUICK-REF - CsoundManual - Top of this section - Previous - Contents - Index - Next 

table, tablei, oscil1, oscil1i

     ir   table          indx, ifn[, ixmode][, ixoff][, iwrap]
     ir   tablei         indx, ifn[, ixmode][, ixoff][, iwrap]
     kr   table          kndx, ifn[, ixmode][, ixoff][, iwrap]
     kr   tablei         kndx, ifn[, ixmode][, ixoff][, iwrap]
     ar   table          andx, ifn[, ixmode][, ixoff][, iwrap]
     ar   tablei         andx, ifn[, ixmode][, ixoff][, iwrap]
     kr   oscil1         idel, kamp, idur, ifn
     kr   oscil1i        idel, kamp, idur, ifn 
     ar   osciln         kamp, ifrq, ifn, itimes

DESCRIPTION

Table values are accessed by direct indexing or by incremental sampling.

INITIALIZATION

ifn - function table number. tablei, oscil1i require the extended guard point.

ixmode (optional) - ndx data mode. 0 = raw ndx, 1 = normalized (0 to 1). The default value is 0.

ixoff (optional) - amount by which ndx is to be offset. For a table with origin at center, use tablesize/2 (raw) or .5 (normalized). The default value is 0.

iwrap (optional) - wraparound ndx flag. 0 = nowrap (ndx < 0 treated as ndx=0; ndx > tablesize sticks at ndx=size), 1 = wraparound. The default value is 0.

idel - delay in seconds before oscil1 incremental sampling begins.

idur - duration in seconds to sample through the oscil1 table just once. A zero or negative value will cause all initialization to be skipped.

ifrq, itimes - rate and number of times through the stored table.

PERFORMANCE

table invokes table lookup on behalf of init, control or audio indices. These indices can be raw entry numbers (0,l,2...size - 1) or scaled values (0 to 1-e). Indices are first modified by the offset value then checked for range before table lookup (see iwrap). If ndx is likely to be full scale, or if interpolation is being used, the table should have an extended guard point. table indexed by a periodic phasor ( see phasor) will simulate an oscillator.

oscil1 accesses values by sampling once through the function table at a rate determined by idur. For the first idel seconds, the point of scan will reside at the first location of the table; it will then begin moving through the table at a constant rate, reaching the end in another idur seconds; from that time on (i.e. after idel + idur seconds) it will remain pointing at the last location. Each value obtained from sampling is then multiplied by an amplitude factor kamp before being written into the result.

osciln will sample several times through the stored table at a rate of ifrq times per second, after which it will output zeros. Generates audio signals only, with output values scaled by kamp.

tablei and oscil1i are interpolating units in which the fractional part of ndx is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also oscili, etc.), but the interpolating and non-interpolating units are otherwise interchangeable. Note that when tablei uses a periodic index whose modulo nis less than the power of 2 table length, the interpolation process requires that there be an (n+ 1)th table value that is a repeat of the 1st ( see F statement in Score).


QUICK-REF - CsoundManual - Top of this section - Previous - Contents - Index - Next 

HTML Csound Manual - © Jean Piché & Peter J. Nix, 1994-97