HTTP/2 200
content-type: text/html
x-guploader-uploadid: ABgVH8_0O7FX_g6hMasRNW9S4wpUzynt5hLJDY4_x0CYyV_FjyaV4BljQbVHXg9FgLF3au-pNFCBeXc
cache-control: public, max-age=3600
expires: Thu, 31 Jul 2025 07:47:52 GMT
last-modified: Wed, 23 Jul 2025 00:46:35 GMT
etag: W/"ff92b6f45ea39a3df5ce8a4382fc37e3"
x-goog-generation: 1753231595267076
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 62467
x-goog-meta-goog-reserved-file-mtime: 1753230358
x-goog-hash: crc32c=YTuJTw==, md5=/5K29F6jmj31zopDgvw34w==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 839e32b3eb25a00c456daf10aee88f3d
date: Thu, 31 Jul 2025 06:47:53 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
WaveShaperNode: WaveShaperNode() constructor - Web APIs | MDN
WaveShaperNode: WaveShaperNode() constructor Baseline Widely available
The WaveShaperNode()
constructor
of the Web Audio API creates a new
WaveShaperNode
object which is an AudioNode
that
represents a non-linear distorter.
new WaveShaperNode(context, options)
context
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"
.
channelCount
Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. (See
AudioNode.channelCount
for more information.) Its usage and precise
definition depend on the value of channelCountMode
.
channelCountMode
Represents an enumerated value describing the way channels must be matched between
the node's inputs and outputs. (See AudioNode.channelCountMode
for more
information including default values.)
channelInterpretation
Represents an enumerated value describing the meaning of the channels. This
interpretation will define how audio up-mixing and down-mixing will happen.
The possible values are "speakers"
or "discrete"
. (See
AudioNode.channelCountMode
for more information including default
values.)