HTTP/2 301
server: nginx
date: Wed, 23 Jul 2025 13:00:30 GMT
content-type: text/html
content-length: 162
location: https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode/OscillatorNode
strict-transport-security: max-age=60; includeSubDomains
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
HTTP/2 200
content-type: text/html
x-guploader-uploadid: ABgVH8_nRec4uu3jmDqtLqzS0Aj_NxlHZEAQogkFB4psUPUTQ_jjMz43KXUaWw1koKVQDoqd7PRsvdI
cache-control: public, max-age=3600
expires: Wed, 23 Jul 2025 14:00:30 GMT
last-modified: Wed, 23 Jul 2025 00:45:54 GMT
etag: W/"046a821c2aa71f7f6b538e1a5fa0835c"
x-goog-generation: 1753231554669974
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 65999
x-goog-meta-goog-reserved-file-mtime: 1753230355
x-goog-hash: crc32c=X5Ha5Q==, md5=BGqCHCqnH39rU44aX6CDXA==
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: 8600d2d38eb1d76eeb5390ec05b51fc1
date: Wed, 23 Jul 2025 13:00:31 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
OscillatorNode: OscillatorNode() constructor - Web APIs | MDN
OscillatorNode: OscillatorNode() constructor Baseline Widely available
The OscillatorNode()
constructor of the Web Audio API creates a new
OscillatorNode
object which is an AudioNode
that
represents a periodic waveform, like a sine wave, optionally setting the node's
properties' values to match values in a specified object.
If the default values of the properties are acceptable, you can optionally use the
BaseAudioContext.createOscillator()
factory method instead; see
Creating an AudioNode .
new OscillatorNode(context, options)
context
A reference to an AudioContext
.
options
Optional
An object whose properties specify the initial values for the oscillator node's
properties. Any properties omitted from the object will take on the default value
as documented.
type
The shape of the wave produced by the node. Valid values are
"sine"
, "square"
, "sawtooth"
,
"triangle"
and "custom"
. The default is
"sine"
.
detune
A detuning value (in cents) which will offset
the frequency
by the given amount. Its default is 0.
frequency
The frequency (in hertz ) of the periodic
waveform. Its default is 440.
periodicWave
An arbitrary period waveform described by a PeriodicWave
object.
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.)