Back to Content

SpeechSynthesis: speak() method

files/en-us/web/api/speechsynthesis/speak/index.md

latest1.4 KB
Original Source

{{APIRef("Web Speech API")}}

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

Syntax

js-nolint
speak(utterance)

Parameters

  • utterance
    • : A {{domxref("SpeechSynthesisUtterance")}} object.

Return value

None ({{jsxref("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

{{Specifications}}

Browser compatibility

{{Compat}}

See also