tab

tab — Fast table opcode.

Description

Fast table opcode. Faster than table because it does not allow wrap-around and limit. Has been implemented in order to provide fast access to arrays.

Syntax

kr tab kndx, ifn[, ixmode]
ar tab xndx, ifn[, ixmode]

Initialization

ifn -- table number

ixmode -- defaults to zero. If zero xndx range matches the length of the table; if non zero xndx has a 0 to 1 range.

indx -- table index

Performance

andx, kndx -- table index.

tab and tabw opcodes are similar to table but are faster, and use rounding of the index.

Examples

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

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

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

gifn1 ftgen 1, 0, 0, 1, "flute.aiff", 0, 0, 0	;deferred-size table

instr 1 

atab  init 0 
isize tableng 1					;length of table?
print isize
andx  phasor 1 / (isize / sr) 
asig  tab andx, 1, 1				;has a 0 to 1 range
      outs asig, asig

endin 
</CsInstruments> 
<CsScore> 

i 1 0 2.3
e
</CsScore> 
</CsoundSynthesizer>


See Also

tab_i, tabw, tabw_i

Credits

Written by Gabriel Maldonado.