SpeechSynthesis: speak() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2018⁩.

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

js
speak(utterance) 

Parameters

utterance

A SpeechSynthesisUtterance object.

Return value

None (undefined).

Examples

This snippet is excerpted from our Speech synthesizer demo (see it live). 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.

js
const synth = window.speechSynthesis; // … inputForm.onsubmit = (event) => { event.preventDefault(); const utterThis = new SpeechSynthesisUtterance(inputTxt.value); const selectedOption = voiceSelect.selectedOptions[0].getAttribute("data-name"); for (const voice of voices) { if (voice.name === selectedOption) { utterThis.voice = voice; } } synth.speak(utterThis); inputTxt.blur(); }; 

Specifications

Specification
Web Speech API
# dom-speechsynthesis-speak

Browser compatibility

See also