OscillatorNode()

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.

Syntax

var oscillatorNode = new OscillatorNode(context, options)

Parameters

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.)

Return value

A new OscillatorNode object instance.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
OscillatorNode
55
Before Chrome 59, the default values were not supported.
79
53
No
42
14.1
55
Before version 59, the default values were not supported.
55
Before Chrome 59, the default values were not supported.
53
42
14.5
6.0
Before Samsung Internet 7.0, the default values were not supported.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode/OscillatorNode