SpeechSynthesisUtterance.voice

Experimental: Esta é uma tecnologia experimental (en-US)
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.

A propriedade voice da interface SpeechSynthesisUtterance (en-US) retorna e configura a voz que será usada para a fala.

Essa propriedade deve ser configurada para um dos objetos SpeechSynthesisVoice (en-US) retornado por SpeechSynthesis.getVoices() (en-US). Se não for configurada no momento da fala, a voz usada será a determinada como default na propriedade lang (en-US).

Sintaxe

var myVoice = speechSynthesisUtteranceInstance.voice;
speechSynthesisUtteranceInstance.voice = speechSynthesisVoiceInstance;

Valor

Exemplo

js
var synth = window.speechSynthesis;

var inputForm = document.querySelector('form');
var inputTxt = document.querySelector('input');
var voiceSelect = document.querySelector('select');

var voices = synth.getVoices();

  ...

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();
}

Especificações

Specification
Web Speech API
# dom-speechsynthesisutterance-voice

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também