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


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.value = 3000; // value in hertz


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

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 14 webkit 23 [1] No support 15 webkit
22 (unprefixed)
6 webkit
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support No support 28 webkit 25 [1] 1.2 No support No support webkit

[1] The parameter wasn't optional until Firefox 30.

See also

Document Tags and Contributors

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