sc_lag
Prev | Orchestra Opcodes and Operators | Next

## sc_lag

sc_lag — Exponential Lag

## Description

Exponential lag with 60dB lag time. Port of Supercollider's Lag

## Syntax

    aout sc_lag ain, klagtime [, initialvalue=0]

    kout sc_lag kin, klagtime [, initialvalue=0]

## Initialization

initialvalue If given, sets the internal state. Default=0

## Performance

ain -- input signal

klagtime -- 60 dB lag time in seconds.

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

This is essentially the same as one pole 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.

## Examples

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

Example 861. Example of the sc_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 = sc_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 = sc_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

sc_lagud, port, portk

## Credits

By: Eduardo Moguillansky 2017

Prev | Up | Next
scoreline_i | Home | sc_lagud