Waveshaping is a signal processing technique that maps an input signal to an output signal through the use of a transfer function. The transfer function's domain must be well defined on the range of the input signal. The technique is useful for soft clipping, as one could employ a transfer function f(x) such that \lim_{x \rightarrow -\infty} f(x) = -1 and \lim_{x \rightarrow \infty} f(x) = 1.

Mathematically, waveshaping is a simple operation. It is defined as follows: w(t) = f(i(t)x(t)) where x(t) is the input signal, f(t) is the transfer function and i(t) is an index function (which acts more or less as a numerical gain). If i(t)x(t) has the range [a, b] then f(t) must be well defined on this domain.

The following is an audio example demonstrating Chebyshev polynomial waveshaping on an input signal.