WAVESHAPING SYNTHESIS

Waveshaping synthesis, also known as nonlinear distortion, has been first discovered at the Bell Laboratories by Jean-Clause Risset in 1969. Casio, the Japanese electronics company has first implemented a method of this synthesis in the CZ line synthesizers, generally known as Phase Distortion.

 

The basic idea behind waveshaping is relative simple. The output of an oscillator, usually but not necessarily a sine wave, is used as an argument for a transfer function to produce the output. For example, if we define the input as x, the output y would be defined be the function y = f(x). If the function is non-linear then the output will no longer be a sine wave, but instead it will be a waveform usually expanded in amplitude and rich in harmonic content (sawtooth type). In the discreet-time digital domain, the transfer function is stored in a table and used to assign a value between -1 and +1 to the output according to the input.

 

 

The degree of distortion produced by waveshaping is directly depended on the transfer function chosen. If the transfer function is linear then this is the only case when the output will be the same as the input. In any other case, the output produces distortion.

 

The picture below demonstrates a linear transfer function. An input of -1 on the down-left of the picture corresponds to the same value at the output on the down-right of the picture. Similarly, all inputs between -1 and 0 correspond exactly to the same value at the output.

 

 

The above example is not very useful for music synthesis purposes. Let consider introducing a different function (f) into the equation that would make the output to respond less linearly accordingly to the input.

 

In the example below, the transfer function has a narrower angle than our previous example. In consequence, an input value corresponds to a lower amplitude value and in this way the input signal is attenuated by the function.

 

A more musical interesting approach could be achieved with following function.

 

 


In the above picture, the angle of the transfer function is near a straight line around zero while it gets more complicated at the edges. A function as such, will pass low-level input signals with no distortion, but high-level signals will be severally distorted [Roads, The Computer Music Tutorial]. This could clearly be applied to model different short of natural instrument that behave in the same way in the real world. As we can easily see, waveshaping is sensitive to amplitude changes of the input signal. The harmonic spectrum of the output is related to the amplitude of the input signal in conjunction with the transfer function used. This short of behavior characterizes waveshaping as a synthesis technique.

 

An interesting approach to waveshaping and the most commonly used is when we use a family of functions known as Chebyshev polynomial to map the output. Then we are able to pre-define the harmonic spectra of the output. Chebyshev polynomials act as frequency multipliers. A given input, like a sine wave, of amplitude +1 will produce an output with frequency N times the frequency of the input. If the input is less than +1 then a complex harmonic will be produced.

 

Sometimes the result of the polynomial is called the distortion index. [www.music.columbia.edu/cmc/RTcmix/docs/instruments]. If we calculate the distortion index of different polynomials that correspond to different frequencies, sum the result and use it as a transfer function, then we are able to produce a specific harmonic content related to the input sound. However, especially when we try to imitate natural sounds, a problem remains to find the suitable spectral envelope that corresponds to the spectral evolution of the original sound. This is a problem, because the distortion produced by a given transfer function can have different results in its own way, according to the harmonic spectrum of the input. Risset refers to a solution and identification method of the spectral envelope by taking as a criterion the centroid - the center of gravity of the spectrum. He specifically says that, “By choosing at each point a timbre index such that the synthetic centroid matches that of the real sound, one obtains data for an amplitude envelope.” (Jean-Claude Risset, Timbre Analysis by Synthesis / Representation of Musical Signals).

 

A great advantage of using Chebyshev polynomials in the digital domain is also the fact that we can avoid aliasing [frequencies greater than the Nyquist frequency]. As we saw, a polynomial of order N (the highest point of the polynomial called order) is known to generate frequencies up to the Nth harmonic of the input signal, therefore the signal is band-limited according to the order of the polynomial.

 

It is clear by now that with waveshaping we can control the spectrum of the output at a given input. However, waveshaping does not provide any means to control the amplitude of the output signal. The amplitude of the output signal can vary in relation to the input signal and the transfer function used. To compensate for these amplitude changes we need some form of amplitude normalization [Roads, The Computer Music Tutorial]. Curtis Roads in the Computer Music Tutorial suggests the method of Peak Normalization, in which the output of the waveshaper is determined accordingly to the maximum harmonic amplitude.

 

Besides the previous method of Chebyshev polynomials there are also other methods for implementing waveshaping. The transfer function can be constructed by other types of equations, sampled sounds or even drawn by hand, as features in many software packages lately (Absynth is one of them). Other suggestions include the movable Waveshaping by Xin Chong (Xin Chong 1987 Personal Communication) in which the transfer function varies over time and De Poli’s, Fractional Waveshaping in which the transfer function expressed as the ratio of two polynomials (De Poli, Frequency-depentant Waveshaping / Proceeding of the 1984 I.C.M.C / I.C.M.A. pp91-101).

 

[waveshaping SynthEdit example]


Dimitris Barnias 2004

 

 

 

 

Top^

 

 

©sonicspace.org 2005