lposcil3 — Read sampled sound from a table with high precision and cubic interpolation.
Read sampled sound (mono or stereo) from a table, with looping, and high precision. lposcil3 uses cubic interpolation.
kamp -- amplitude
kfreqratio -- multiply factor of table frequency (for example: 1 = original frequency, 1.5 = a fifth up , .5 = an octave down)
kloop -- start loop point (in samples)
kend -- end loop point (in samples)
lposcil3 (looping precise oscillator) allows varying at k-rate, the starting and ending point of a sample contained in a table (GEN01). This can be useful when reading a sampled loop of a wavetable, where repeat speed can be varied during the performance.
Here is an example of the lposcil3 opcode. It uses the file lposcil3.csd.
Example 554. Example of the lposcil3 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 realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o lposcil3.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kcps = 1.5 ; a fifth up kloop = 0 ; loop start time (in samples) kend line 45000, p3, 10000 ; vary loop end time (in samples) asig lposcil3 1, kcps, kloop, kend, 1 outs asig, asig endin </CsInstruments> <CsScore> ; Its table size is deferred, ; and format taken from the soundfile header. f 1 0 0 1 "drumsMlp.wav" 0 0 0 ; Play Instrument #1 for 6 seconds. ; This will loop the drum pattern several times. i 1 0 6 e </CsScore> </CsoundSynthesizer>