oscil — A simple oscillator.


Table ifn is incrementally sampled modulo the table length and the value obtained is multiplied by amp.


ares oscil xamp, xcps, ifn [, iphs]
kres oscil kamp, kcps, ifn [, iphs]


ifn -- function table number. Requires a wrap-around guard point.

iphs (optional, default=0) -- initial phase of sampling, expressed as a fraction of a cycle (0 to 1). A negative value will cause phase initialization to be skipped. The default value is 0.


kamp, xamp -- amplitude

kcps, xcps -- frequency in cycles per second.

The oscil opcode generates periodic control (or audio) signals consisting of the value of kamp (xamp) times the value returned from control rate (audio rate) sampling of a stored function table. The internal phase is simultaneously advanced in accordance with the kcps or xcps input value.


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

Example 291. Example of the oscil 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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o oscil.wav -W ;;; for file output any platform

; Initialize the global variables.
sr = 44100
ksmps = 128
nchnls = 1

; Instrument #1 - a basic oscillator.
instr 1
  kamp = 10000
  kcps = 440
  ifn = 1

  a1 oscil kamp, kcps, ifn
  out a1


; Table #1, a sine wave.
f 1 0 16384 10 1

; Play Instrument #1 for 2 seconds.
i 1 0 2


See Also

oscili, oscil3


Example written by Kevin Conder.