deltapx
Prev | Orchestra Opcodes and Operators | Next

## deltapx

deltapx — Read from or write to a delay line with interpolation.

## Description

deltapx is similar to deltapi or deltap3. However, it allows higher quality interpolation. This opcode can read from and write to a delayr/delayw delay line with interpolation.

## Syntax

    aout deltapx adel, iwsize

## Initialization

iwsize -- interpolation window size in samples. Allowed values are integer multiplies of 4 in the range 4 to 1024. iwsize = 4 uses cubic interpolation. Increasing iwsize improves sound quality at the expense of CPU usage, and minimum delay time.

## Performance

aout -- Output signal.

adel -- Delay time in seconds.

    a1      delayr   idlr
            deltapxw a2, adl1, iws1
    a3      deltapx  adl2, iws2
            deltapxw a4, adl3, iws3
            delayw   a5

Minimum and maximum delay times:

    idlr >= 1/kr                                Delay line length

    adl1 >= (iws1/2)/sr                         Write before read
    adl1 <= idlr - (1 + iws1/2)/sr              (allows shorter delays)

    adl2 >= 1/kr + (iws2/2)/sr                  Read time
    adl2 <= idlr - (1 + iws2/2)/sr
    adl2 >= adl1 + (iws1 + iws2) / (2*sr)
    adl2 >= 1/kr + adl3 + (iws2 + iws3) / (2*sr)

    adl3 >= (iws3/2)/sr                         Write after read
    adl3 <= idlr - (1 + iws3/2)/sr              (allows feedback)

| Note
Window sizes for opcodes other than deltapx are: deltap, deltapn: 1, deltapi: 2 (linear), deltap3: 4 (cubic)

## Examples

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

Example 211. Example of the deltapx 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     ;;;RT audio out
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o deltapx.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    a1      phasor   300
    a1      =  a1 - 0.5
    a_      delayr   1
    adel    phasor   4
    adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
            deltapxw a1, adel, 32
    adel    phasor   2
    adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
            deltapxw a1, adel, 32
    adel    =  0.3
    a2      deltapx  adel, 32
    a1      =  0
            delayw   a1
            outs     a2*.7, a2*.7
    endin
    </CsInstruments>
    <CsScore>

    i1 0 5
    e
    </CsScore>
    </CsoundSynthesizer>

## See Also

deltapxw

## Credits

Author: Istvan Varga
August 2001

New in version 4.13

Prev | Up | Next
deltapn | Home | deltapxw