WaveShaperNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

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"

Constructor

WaveShaperNode()

Creates a new instance of an WaveShaperNode object.

Instance properties

Inherits properties from its parent, AudioNode.

WaveShaperNode.curve

A Float32Array of numbers describing the distortion to apply.

WaveShaperNode.oversample

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.

Example

Specifications

Specification
Web Audio API
# WaveShaperNode

Browser compatibility

BCD tables only load in the browser

See also