The start method of the OscillatorNode interface specifies the exact time to start playing the tone. Its parameter is optional and default to 0.


oscillator.start(when); // start playing oscillator in when seconds


when Optional
An optional double representing the time when the oscillator should start. If a value is not included or is in the past, the oscillator starts playing immediately.


The following example shows basic usage of an AudioContext to create an oscillator node. For an applied example, check out our Violent Theremin demo (see app.js for relevant code).

// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();

// create Oscillator node
var oscillator = audioCtx.createOscillator();

oscillator.type = 'square';
oscillator.frequency.setValueAtTime(3000, audioCtx.currentTime); // value in hertz


Specification Status Comment
Web Audio API
The definition of 'start' in that specification.
Working Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support14 Yes251 No156
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes14 Yes261 No15 ?

1. Before Firefox 30, the when parameter was not optional.

See also

Document Tags and Contributors

 Contributors to this page: MysteryPancake, fscholz, chrisdavidmills, abbycar, teropa, teoli
 Last updated by: MysteryPancake,