The WaveShaperNode interface represents a non-linear distorter.

It is an AudioNode that uses a curve to apply a wave shaping distortion to the signal. Beside obvious distortion effects, it is often used to add a warm feeling to the signal.

A WaveShaperNode always has exactly one input and one output.

EventTarget AudioNode WaveShaperNode
Number of inputs 1
Number of outputs 1
Channel count mode "max"
Channel count 2 (not used in the default count mode)
Channel interpretation "speakers"



Creates a new instance of an WaveShaperNode object.

Instance properties

Inherits properties from its parent, AudioNode.


A Float32Array of numbers describing the distortion to apply.


An enumerated value indicating if oversampling must be used. Oversampling is a technique for creating more samples (up-sampling) before applying the distortion effect to the audio signal.

Instance methods

No specific method; inherits methods from its parent, AudioNode.



Web Audio API
# WaveShaperNode

Browser compatibility

BCD tables only load in the browser

See also