title | slug | page-type | browser-compat |
---|---|---|---|
WaveShaperNode |
Web/API/WaveShaperNode |
web-api-interface |
api.WaveShaperNode |
{{ APIRef("Web Audio API") }}
The WaveShaperNode
interface represents a non-linear distorter.
It is an {{domxref("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.
{{InheritanceDiagram}}
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" |
- {{domxref("WaveShaperNode.WaveShaperNode", "WaveShaperNode()")}}
- : Creates a new instance of an
WaveShaperNode
object.
- : Creates a new instance of an
Inherits properties from its parent, {{domxref("AudioNode")}}.
- {{domxref("WaveShaperNode.curve")}}
- : A {{jsxref("Float32Array")}} of numbers describing the distortion to apply.
- {{domxref("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.
No specific method; inherits methods from its parent, {{domxref("AudioNode")}}.
See BaseAudioContext.createWaveShaper()
for example code.
{{Specifications}}
{{Compat}}