poscil3

poscil3 — High precision oscillator with cubic interpolation.

Description

High precision oscillator with cubic interpolation.

Syntax

ares poscil3 aamp, acps [, ifn, iphs]
ares poscil3 aamp, kcps [, ifn, iphs]
ares poscil3 kamp, acps [, ifn, iphs]
ares poscil3 kamp, kcps [, ifn, iphs]
ires poscil3 kamp, kcps [, ifn, iphs]
kres poscil3 kamp, kcps [, ifn, iphs]

Initialization

ifn -- (optional) function table number. This defaults to -1 which indicates a sinewave.

iphs (optional, default=0) -- initial phase (normalized table index 0-1). If a negative value is given initialisation of the phase is skipped.

Performance

ares -- output signal

kamp, aamp -- the amplitude of the output signal.

kcps, acps -- the frequency of the output signal in cycles per second.

poscil3 works like poscil, but uses cubic interpolation.

Note that poscil3 can use defered (non-power of two) length tables.

Examples

Here is an example of the poscil3 opcode. Play poscil3.csd

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

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

giSine ftgen 0, 0, 2^10, 10, 1

instr 1

krnd  randomh 40, 440, 1	; produce random values
ain   poscil3 .6, krnd, giSine
kline line    1, p3, 0    	; straight line
aL,aR pan2    ain, kline	; sent across image
      outs    aL, aR

endin
</CsInstruments>
<CsScore>
i1 0 10
e
</CsScore>
</CsoundSynthesizer>


Here is another example of the poscil3 opcode, which uses a table filled from a sound file. Play poscil3-file.csd .

Example 776. Another example of the poscil3 opcode.

<CsoundSynthesizer>
<CsOptions>
; 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 poscil3-file.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Example written by Joachim Heintz 07/2008

sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; non-normalized function table with a sample 1
giFile	ftgen 1, 0, 0, -1, "fox.wav", 0, 0, 0

; Instrument #1 - uses poscil3 for playing samples from a function table
instr 1
kamp = p4
kspeed	= p5
ifn = 1
iskip = p6
kcps	= kspeed / (ftlen(ifn) / ftsr(ifn)); frequency of the oscillator
iphs	= iskip / (ftlen(ifn) / ftsr(ifn)); calculates skiptime to phase values (0-1)
  
  a1 poscil3 kamp, kcps, ifn, iphs
  out a1
endin
</CsInstruments>
<CsScore>
i1 0 2.756 1 1 0
i1 3 2.756 1 -1 0
i1 6 1.378 1 .5 2.067
e
</CsScore>
</CsoundSynthesizer>


See Also

poscil

Credits

Authors: John ffitch, Gabriel Maldonado
Italy

New in Csound version 3.52

variants with a-rate amplitude or frequency new in 5.16

Function table optional in Csound version 6.00

Skip of initialisation new in version 6.06