Sounds Logical
home

WaveWarp 2.0 Component

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentBottom of Page

Functional Description | Algorithm | Signal Implementations | Related Components | Example DWBs usage

Distortion:

Wave Shaper

Functional Description
Amplitude wave-shaper with selectable shaping profile. For each input sample, the output is assigned according to the shaping profile which defines a mapping between the input and output on a sample-by-sample basis. The characteristics of the shaping profile are adjustable via the Parameter Window, as summarised in the following table.

Parameter Purpose
"Wave shaping function" selection buttons Selects the wave-shaping profile from a choice of 5 built-in shapes or from an external ASCII file (for total flexibility). The chosen profile, depicted in the plot window, defines the mapping between the input and output sample values. The 5 built-in shapes are summarised as follows:
  • "Quantization" -- mimics an A/D quantizer with arbitrary selectable resolution
  • "Compression" -- reduces the dynamic range by increasing the level of low-amplitude signals
  • "Expansion" -- increases the dynamic range by reducing the level of low-amplitude signals
  • "Uniform noise" -- "randomizes" the signal
  • "Chebyshev polynomial" -- shaping functions with the important property that they are intrinsically band-limited i.e. they do not introduce spurious spectral harmonics due to overlapping etc.
"Gain" slider Scales the overall amplitude of the output signal (after the wave-shaping has been applied).
"Table length" slider Adjusts the number of points used in the wave-shaper mapping table (de-activated when "Load from file" is selected). The resolution and hence the smoothness of the mapping increases with the number of points used.
"Severity" slider Adjusts the "severity" of the shaping profile for the "Compression", "Expansion", and "Uniform Noise" profile options (de-activated for all other options). For reference, minimum severity corresponds to a straight line with a slope of unity, thus defining a one-to-one mapping which has no effect on the audio.
"Quantization steps" slider Sets the quantizer resolution for the "Quantization" profile (de-activated for all other options).
"Chebyshev order" slider Sets the order of the "Chebyshev polynomial" profile (de-activated for all other options).
"Load wave-shaping table from file" dialog Activated when "Load from file" is selected. The wave-shaping profile is imported from an ASCII file containing an arbitrary user-defined shaping profile. For convenience, the supported ASCII file format is identical to the wavetable format used by WaveWarp's Signal Generators (refer to the WaveWarp Users' Guide for more information). This simple file structure enables files to be written by hand (e.g. via a text editor). For MATLAB® users, the process of creating wave-shaper profiles is particularly straightforward. The "wwmatlab" sub-directory of the WaveWarp root directory contains the necessary function m-files (plus example scripts) for exporting wavetables from MATLAB, thereby providing ready access to MATLAB's powerful mathematical tools for creating elaborate wave-shaping profiles. (Refer to the WaveWarp Users' Guide for a summary of all bundled m-files for working with MATLAB in a variety of areas in addition to wave-shaper design).
"Save wave-shaping table to file" dialog Exports the current wave-shaping profile to an ASCII file (in wavetable format) for future import or off-line analysis.

NOTE: This component is particularly useful for creating customised distortion effects.

Algorithm
The wave-shaper mapping is implemented using table-lookup. See [Roa] p. 252-258 for more information on this versatile audio manipulation technique.
Signal Implementations
Audio signals Control signals Description
Single input single output mono-mono n/a Wave-shaper mapping applied to mono input, sent to mono output
Single input single output mono-stereo n/a Wave-shaper mapping applied to mono input, sent (in duplicate) to stereo output channels
Single input single output stereo-mono n/a Wave-shaper mapping applied to average of left and right input channels, sent to mono output
Single input single output stereo-stereo n/a Wave-shaper mapping applied separately to left and right input channels (same profile use for both), sent to respective stereo output channels
Related components:
Example DrawingBoards illustrating usage:

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentTop of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement