oscil1 — Accesses table values by incremental sampling.


Accesses table values by incremental sampling.


kres oscil1 idel, kamp, idur [, ifn]


idel -- delay in seconds before oscil1 incremental sampling begins.

idur -- duration in seconds to sample through the oscil1 table just once. A negative value will make the table be read from the end to the beginning.

ifn -- (optional) function table number. tablei, oscil1i require the extended guard point. The number defaults to -1 which indicates a sinewave.


kamp -- amplitude factor.

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.


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

Example 700. Example of the oscil1 opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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 oscil1.wav -W ;;; for file output any platform

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

giPan ftgen 0, 0, 8, -2, .5, .2, .8, .1, .9, 0, 1, .5

instr     1   

istay = 2 ;how many seconds to stay on the first table value
asig   vco2 .3, 220
kpan   oscil1 istay, 1, p3-istay, giPan ;create panning 
       printk2 kpan ;print when new value
aL, aR pan2 asig, kpan ;apply panning
       outs aL, aR

i 1  0  10

The example will produce the following output:

 i1     0.50000
 i1     0.20000
 i1     0.80000
 i1     0.10000
 i1     0.90000
 i1     0.00000
 i1     1.00000
 i1     0.50000

See Also

Table Access