lag
Prev | Orchestra Opcodes and Operators | Next

## lag

lag — Exponential Lag

## Description

Plugin opcode in scugens.

Exponential lag with 60dB lag time. Port of Supercollider's Lag. This is essentially a one pole filter except that instead of supplying the coefficient directly, it is calculated from a 60 dB lag time. This is the time required for the filter to converge to within 0.01% of a value. This is useful for smoothing out control signals.

## Syntax

    aout lag ain, klagtime [, initialvalue]

    kout lag kin, klagtime [, initialvalue]

## Initialization

initialvalue If given, sets the internal state. It defaults to the first value passed

## Performance

ain -- input signal

klagtime -- 60 dB lag time in seconds.

kladown -- 60 dB lag time in seconds for the downgoing signal.

## Examples

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

Example 903. Example of the lag opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <CsoundSynthesizer>
    <CsOptions>
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 128
    nchnls = 2
    0dbfs = 1.0

    instr 1
      ; smooth a krate signal
      kx = floor(line(0, p3, 10))
      kx2 = lag(kx, 0.1)
      printk2 kx2
    endin

    instr 2
      ; smooth an audio signal
      kmidi = floor(line(60, p3, 72)/2)*2
      afreq = upsamp(mtof(kmidi))
      afreqsmooth = lag(afreq, 1)
      a1 = oscili(1, afreq)
      a2 = oscili(1, afreqsmooth)
      outch 1, a1
      outch 2, a2
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 5
    i 2 0 10

    </CsScore>
    </CsoundSynthesizer>

## See Also

lagud, port, portk

## Credits

By: Eduardo Moguillansky 2017

Prev | Up | Next
sc_lag | Home | sc_lagud