Skip to content

sclag

Exponential lag with 60dB lag time.

Plugin opcode in scugens.

DEPRECATED (renamed as lag)

Syntax

aout = sclag(ain, klagtime [, initialvalue])
kout = sclag(kin, klagtime [, initialvalue])
aout sc_lag ain, klagtime [, initialvalue]
kout sc_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.

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 sclag opcode. It uses the file sclag.csd.

Example of the sc_lag opcode.
<CsoundSynthesizer>
<CsOptions>
  -o dac
</CsOptions>
<CsInstruments>

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

instr 1
  ; smooth a krate signal  
  x:k = floor(line(0, p3, 10))
  x2:k = sclag(x, 0.1)
  printk2(x2)
endin

instr 2
  ; smooth an audio signal
  midi:k = floor(line(60, p3, 72)/2) * 2
  freq:a = upsamp(mtof(midi))
  freqsmooth:a = sclag(freq, 1)
  a1 = oscili(1, freq)
  a2 = oscili(1, freqsmooth)
  out(a1, a2 )
endin

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

</CsScore>
</CsoundSynthesizer>

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

Example of the sc_lag opcode.
<CsoundSynthesizer>
<CsOptions>
  -o dac
</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

Standard Filters: Control signal filters

Credits

By: Eduardo Moguillansky 2017