sc_lag

sc_lag — Exponential Lag

Description

Plugin opcode in scugens.

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 877. 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