MDN’s new design is in Beta! A sneak peek:


This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The WaveShaperNode() constructor creates a new WaveShaperNode object which is an AudioNode that represents a non-linear distorter.


var new waveShaperNode = new WaveShaperNode(context, options)


A reference to an AudioContext.
options Optional
Options are as follows:
  • curve: The shaping curve used for the waveshaping effect. The input signal is nominally within the range [-1;1].
  • oversample: Specifies what type of oversampling (if any) should be used when applying the shaping curve. Valid values are 'none', '2x', or '4x'. The default is 'none'.


Specification Status Comment
Web Audio API
The definition of 'WaveShaperNode()' in that specification.
Working Draft Initial definition.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 55[1] ? ? 42 ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support 55[1] 55[1] ? ? ? 42 ?

[1] Before Chrome 59, the default values were not supported. 

Document Tags and Contributors

 Contributors to this page: jpmedley, bunnybooboo
 Last updated by: jpmedley,