Firefox Tomorrow

web api instance property

SpeechSynthesisUtterance: voice property

View on MDN ↗

The voice property of the SpeechSynthesisUtterance interface gets and sets the voice that will be used to speak the utterance.

This should be set to one of the SpeechSynthesisVoice objects returned by getVoices(). If not set by the time the utterance is spoken, the voice used will be the most suitable default voice available for the utterance’s lang setting.

Value

A SpeechSynthesisVoice object.

Examples

const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// …

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

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also