CAST Transforms: Tracking Parametric Equalizer

Introduction

The tracking parametric equalizer adjusts the amplitude of each partial based on its index number. Thus, it is a "tracking" equalizer because when the pitch of a tone changes, the frequency response of the equalization effect will move to follow the pitch.

The frequency response of the filter is determined by a curve that smoothly connects any number of "knots", or points on the plane. The X axis of this curve is partial number (not frequency!) and the Y axis specifies the amount of gain or attenuation, in dB. Partials are numbered from 0, not 1. The partial number of a knot can be any real number, not just an integer.

In the current implementation, the knots are connected by cosine curves. The gain of the lowest-numbered knot is extrapolated to provide values for all lower-numbered partials, and the gain of the highest-numbered knot is extrapolated to provide values for all higher-numbered partials.

Parameters

Message Argument(s) Type(s) Description
tpe_points Partial number and gain for each knot.  Floats Specifies the knots that define the tracking parametric equalizer's response curve.

Examples

A lowpass filter that leaves partials 0-10 at full amplitude, that attenuates partials 20 and higher by 20 dB, and that attenuates partials 11-19 by gradually increasing amounts:

/voices/0/tpe/tpe_points 10. 0. 20. -20.
/voices/0/tm/goto 0.0

A filter that cuts partials 0-3 by 6 Db, gradually increases the gain from partials 4 through 10 so that partial 10 is 8.5 dB up, gradually decreases the gain from partials 11 to 16, boosts partial 17 by 20 dB, then cuts partials 21 and above by 1 dB:

/voices/0/tpe/tpe_points 3. -6. 10. 8.5 16. -10. 17. 20. 21. -1.
/voices/0/tm/goto 0.0