W3cubDocs

/DOM

SpeechSynthesis.speak

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The speak() method of the SpeechSynthesis interface adds an utterance to the utterance queue; it will be spoken when any other utterances queued before it have been spoken.

Syntax

speechSynthesisInstance.speak(utterance);

Returns

Void.

Parameters

utterance
A SpeechSynthesisUtterance object.

Examples

This snippet is excerpted from our Speech synthesiser demo. When a form containing the text we want to speak is submitted, we (amongst other things) create a new utterance containing this text, then speak it by passing it into speak() as a parameter.

var synth = window.speechSynthesis;

  ...

inputForm.onsubmit = function(event) {
  event.preventDefault();

  var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  var selectedOption = voiceSelect.selectedOptions[0].getAttribute('data-name');
  for(i = 0; i < voices.length ; i++) {
    if(voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  synth.speak(utterThis);
  inputTxt.blur();
}

Specifications

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33 [1] (Yes) 49 (49) No support ? 7


[1] There is a known issue in Chrome that stops the SpeechSynthesisUtterance from speaking when used for long speeches (greater than or equal to 15 seconds, or 200-300 and more characters). See Chrome issues: 335907, 369472.

Feature Android Chrome Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) No support 2.0 No support No support 7.1

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/speak