The Alternative Csound Reference Manual
Previous |  | Next

# oscil3

oscil3 -- A simple oscillator with cubic interpolation.

## Description

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

## Syntax

ar oscil3 xamp, xcps, ifn [, iphs]

kr oscil3 kamp, kcps, ifn [, iphs]

## Initialization

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

iphs (optional) -- 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.

## Performance

kamp, xamp -- amplitude

kcps, xcps -- frequency in cycles per second.

oscil3 is experimental, and is identical to oscili, except that it uses cubic interpolation. (New in Csound version 3.50.)

## Examples

Here is an example of the oscil3 opcode. It uses the files oscil3.orc and oscil3.sco.

Example 1. Example of the oscil3 opcode.

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

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

      a1 oscil kamp, kcps, ifn
      out a1
    endin

    ; Instrument #2 - the basic oscillator with cubic interpolation.
    instr 2
      kamp = 10000
      kcps = 220
      ifn = 1

      a1 oscil3 kamp, kcps, ifn
      out a1
    endin
    /* oscil3.orc */

    /* oscil3.sco */
    ; Table #1, a sine wave table with a small amount of data.
    f 1 0 32 10 0 1

    ; Play Instrument #1, the basic oscillator, for
    ; two seconds. This should sound relatively rough.
    i 1 0 2

    ; Play Instrument #2, the cubic interpolated oscillator, for
    ; two seconds. This should sound relatively smooth.
    i 2 2 2
    e
    /* oscil3.sco */

## See Also

oscil, oscili

## Credits

Example written by Kevin Conder.

Previous | Home | Next
oscil1i | Up | oscili