Waveshaper
From Wikipedia, the free encyclopedia
[edit] Uses
Waveshapers are used namely by electronic musicians to achieve an extra-abrasive sound. This effect is most used to enhance the sound of a music synthesizer by altering the waveform or vowel. Rock musicians may also use a waveshaper for heavy distortion of a guitar or bass. Some synthesizers or virtual software instruments have built-in waveshapers. The effect can make instruments sound noisy or overdriven.
[edit] How it works
A waveshaper is an audio effect that changes an audio signal by mapping an input signal to the output signal by applying a fixed mathematical function to the input signal. The function can be any function at all.
Commonly used wave-shaping functions include sin, atan, and polynomial functions, or piecewise functions. It's also possible to use table-driven functions, consisting of discrete points, or linear segments (see the accompanying screenshot for an example of a waveshaper that uses linear segments).
[edit] Problems associated with waveshapers
The sound produced by digital waveshapers tends to be harsh and unattractive, because of problems with aliasing. Waveshaping is a non-linear operation, so it's hard to generalize about the effect of a waveshaping function on an input signal. The mathematics of non-linear operations on audio signals is difficult, and not well understood. The effect will be amplitude-dependent, among other things. But generally, waveshapers -- particularly those with sharp corners (e.g., some derivatives are discontinuous) -- tend to introduce large numbers of high frequency harmonics. If these introduced harmonics exceed the nyquist limit, then they will be heard as harsh inharmonic content with a distinctly metallic sound in the output signal. Supersampling can somewhat but not completely alleviate this problem, depending on how fast the introduced harmonics fall off. Supersampling involves the following procedure:
- Up-convert the signal to a high sample rate.
- Apply the waveshaping function to the supersampled signal.
- Filter the supersampled signal to remove harmonic content above the nyquist limit of the original sample rate, preferrably with a fairly steep filter.
- Downcovert the signal to the original sample rate.
With relatively simple, and relatively smooth waveshaping functions (sin(a*x), atan(a*x), polynomial functions, for example), this procedure may reduce aliased content in the harmonic signal to the point that it is musically acceptable. But waveshaping functions other than polynomial waveshaping functions will produce an infinite number of harmonics into the signal, some which may audibly alias even at the supersampled frequency.