delayk
Prev | Orchestra Opcodes and Operators | Next

## delayk

delayk — Delays an input signal by some time interval.

## Description

k-rate delay opcodes

## Syntax

    kr delayk   ksig, idel[, imode]

    kr vdel_k   ksig, kdel, imdel[, imode]

## Initialization

idel -- delay time (in seconds) for delayk. It is rounded to the nearest integer multiple of a k-cycle (i.e. 1/kr).

imode -- sum of 1 for skipping initialization (e.g. in tied notes) and 2 for holding the first input value during the initial delay, instead of outputting zero. This is mainly of use when delaying envelopes that do not start at zero.

imdel -- maximum delay time for vdel_k, in seconds.

## Performance

kr -- the output signal. Note: neither of the opcodes interpolate the output.

ksig -- the input signal.

kdel -- delay time (in seconds) for vdel_k. It is rounded to the nearest integer multiple of a k-cycle (i.e. 1/kr).

## Examples

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

Example 156. Example of the delayk 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 delayk.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>
    ;example shows "delayk" for fm index and
    ;a second "delayk" for panning
    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs = 1

    gisin ftgen 0, 0, 2^10, 10, 1

    instr 1

    kenv1 transeg 0, .02, 0, 1, 3.98, -6, 0 ;envelope
    kenv2 delayk kenv1, 2			;delayed by two seconds
    kindx expon 5, p3, 1			;fm index decreasing over p3
    asig  foscili .6, 400, 1, 11/4, kindx, gisin
    kpan1 linseg 0, 4, 1			;panning for first sound
    kpan2 linseg 1, 4, 0			;panning for second sound ...
    kpan2 delayk kpan2, 2			;delayed by two seconds
    a1 = asig * kenv1
    a2 = asig * kenv2

    aL1,aR1 pan2 a1, kpan1
    aL2,aR2 pan2 a2, kpan2
            outs aL1+aL2, aR1+aR2

    endin
    </CsInstruments>
    <CsScore>

    i 1 0 6
    e
    </CsScore>
    </CsoundSynthesizer>

## Credits

Istvan Varga.

Prev | Up | Next
delay1 | Home | delayr