Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Standard Filters

port, portk, tone, tonek, atone, atonek, reson, resonk, areson, aresonk

  kr      portk      ksig, khtim[, isig]
  kr      port       ksig, ihtim[, isig]
  kr      tonek      ksig, khp[, iskip]
  ar      tone       asig, khp[, iskip]
  kr      atonek     ksig, khp[, iskip]
  ar      atone      asig, khp[, iskip]
  kr      resonk     ksig, kcf, kbw[, iscl, iskip]
  ar      reson      asig, kcf, kbw[, iscl, iskip]
  kr      aresonk    ksig, kcf, kbw[, iscl, iskip]
  ar      areson     asig, kcf, kbw[, iscl, iskip]


A control or audio signal is modified by a low- or band-pass recursive filter with variable frequency response.


isig – initial (i.e. previous) value for internal feedback. The default value is 0.

iskip – initial disposition of internal data space. Since filtering incorporates a feedback loop of previous output, the initial status of the storage space used is significant. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.

iscl – coded scaling factor for resonators. A value of 1 signifies a peak response factor of 1, i.e. all frequencies other than kcf are attenuated in accordance with the (normalized) response curve. A value of 2 raises the response factor so that its overall RMS value equals 1. (This intended equalization of input and output power assumes all frequencies are physically present; hence it is most applicable to white noise.) A zero value signifies no scaling of the signal, leaving that to some later adjustment ( see balance). The default value is 0.


port applies portamento to a step-valued control signal. At each new step value, ksig is low-pass filtered to move towards that value at a rate determined by ihtim. ihtim is the "half-time" of the function (in seconds), during which the curve will traverse half the distance towards the new value, then half as much again, etc., theoretically never reaching its asymptote. With portk, the half-time can be varied at the control rate.

tone implements a first-order recursive low-pass filter in which the variable khp (in Hz) determines the response curve's half-power point. Half power is defined as peak power / root 2.

reson is a second-order filter in which kcf controls the center frequency, or frequency position of the peak response, and kbw controls its bandwidth (the frequency difference between the upper and lower half-power points).

atone, areson are filters whose transfer functions are the complements of tone and reson. atone is thus a form of high-pass filter and areson a notch filter whose transfer functions represent the "filtered out" aspects of their complements. Note, however, that power scaling is not normalized in atone, areson, but remains the true complement of the corresponding unit. Thus an audio signal, filtered by parallel matching reson and areson units, would under addition simply reconstruct the original spectrum. This property is particularly useful for controlled mixing of different sources ( see lpreson). Complex response curves such as those with multiple peaks can be obtained by using a bank of suitable filters in series. (The resultant response is the product of the component responses.) In such cases, the combined attenuation may result in a serious loss of signal power, but this can be regained by the use of balance.

Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Standard Filters