tablei

tablei
Table값은 direct indexing이나, 증가하는 sampling에 의해 입력되어진다.

i/kr     tablei     indx,   ifn[,   ixmode[,   ixoff[,   iwrap]]]

-ifn ; f-table number.   확장된 guard poing값을 요구한다.
-ixmode (optional); index data mode. Default 값은 0.
                     0 = index그대로.
                     1 = nomalized(0 에서 1까지)
-ixoff (optional); index가 offset되기 위한 총량. 중앙에서 발생하는 테이블을 위하여, tablesize/2(raw)또는, 5(nomalized)를 사용한다. default값은 0.
-iwrap (optional); wraparound index flag
                     0 = nowrap(index<0 은 index를 0으로 취급하며, index table size는 index와 size가 맞게 맞춘다.)
                     1 = wraparound

table은 control 또는 audio인덱스튿의 초기값을 대신하여 테이블 검색(lookup)을 요구한다. 이 인덱스들은, 입력된 숫자 그대로가 될수도 있으며, 0에서 1까지로 scale된 값이 될수도 있다. 인덱스들은, 검색테이블 전의 영역을 검사할깨 offset값에 의해 첫번째로 수정된다. 만약, 인덱스값이 전체가 scale할것 같거나, 내삽값이 사용하려한다면, 그 테이블은 확장된 guard point를 가지고 있어야 한다. 주기적인 phasor에 의해 인덱스된 table은 ocillator의 simulate가 될것이다.

Example
/* table.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1.
instr 1
  ; Vary our index linearly from 0 to 1.
  kndx line 0, p3, 1

  ; Read Table #1 with our index.
  ifn = 1
  ixmode = 1
  kfreq table kndx, ifn, ixmode

  ; Generate a sine waveform, use our table values
  ; to vary its frequency.
  a1 oscil 20000, kfreq, 2
  out a1
endin
/* table.orc */

        
/* table.sco */
; Table #1, a line from 200 to 2,000.
f 1 0 1025 -7 200 1024 2000
; Table #2, a sine wave.
f 2 0 16384 10 1

; Play Instrument #1 for 2 seconds.
i 1 0 2
e
/* table.sco */

Leave a Comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.