lposcilsa2
Prev | Orchestra Opcodes and Operators | Next

## lposcilsa2

lposcilsa2 — Read stereo sampled sound from a table with looping and high precision.

## Description

lposcilsa2 reads stereo sampled sound from a table with looping and high precision.

## Syntax

    ar1, ar2 lposcilsa2 aamp, kfreqratio, kloop, kend, ift [,iphs]

## Initialization

ift -- function table number

iphs -- initial phase (in samples)

## Performance

ar1, ar2 -- output signal

aamp -- amplitude

kfreqratio -- multiply factor of table frequency (for example: 1 = original frequency, 2 = an octave up). Only integers are allowed

kloop -- start loop point (in samples)

kend -- end loop point (in samples)

lposcilsa2 is the same as lposcilsa, but no interpolation is implemented and only works with integer kfreqratio values. Much faster than lposcilsa, it is mainly intended to be used with kfreqratio = 1, being in this case a fast substitute of soundin, since the soundfile must be entirely loaded in memory.

## Examples

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

Example 557. Example of the lposcilsa2 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 lposcilsa2.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    ; additions by Menno Knevel 2022

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

    instr 1

    kcps  = 1					;only integers are allowed
    kloop = 0					;loop start time in samples
    kend  = 45000					;loop end time in samples

    aenv expsega 0.01, 0.2*p3, .9, 0.1*p3, 0.2, 0.5*p3, 0.7	;envelope
    aL, aR lposcilsa2 aenv, kcps, kloop, kend, 1	;use it for amplitude
         outs aL, aR

    endin
    </CsInstruments>
    <CsScore>
    ; Its table size is deferred,
    ; and format taken from the soundfile header.
    f 1 0 0 1 "drumsSlp.wav" 0 0 0

    ; This will loop the drum pattern several times.
    i 1 0 10.4
    i 1 11 5

    e
    </CsScore>
    </CsoundSynthesizer>

## See also

Sample Playback

## Credits

Author: Gabriel Maldonado

New in version 5.06

Prev | Up | Next
lposcilsa | Home | lpread