This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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 SpeechSynthesis.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.
var myVoice = speechSynthesisUtteranceInstance.voice; speechSynthesisUtteranceInstance.voice = speechSynthesisVoiceInstance;
A SpeechSynthesisVoice
object.
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(); }
Specification | Status | Comment |
---|---|---|
Web Speech API The definition of 'voice' in that specification. | Draft |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 33 | (Yes) | 49 (49) | No support | ? | 7 |
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 |
© 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/SpeechSynthesisUtterance/voice