poscil3 — High precision oscillator with cubic interpolation.
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]
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.
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.
Here is an example of the poscil3 opcode. It uses the file 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. It uses the file 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>