SpeechSynthesisUtterance.lang

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The lang property of the SpeechSynthesisUtterance interface gets and sets the language of the utterance.

If unset, the app's (i.e. the <html> lang value) lang will be used, or the user-agent default if that is unset too.

Syntax

var myLang = speechSynthesisUtteranceInstance.lang;
speechSynthesisUtteranceInstance.lang = 'en-US';

Value

A DOMString representing a BCP 47 language tag.

Examples

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];
    }
  }
  utterThis.lang = 'en-US';
  synth.speak(utterThis);
  inputTxt.blur();
}

Specifications

Specification Status Comment
Web Speech API
The definition of 'lang' in that specification.
Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support33 Yes49 No217
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support3333 Yes

62

61 — 621

No7.1 ?

1. From version 61 until version 62 (exclusive): this feature is behind the media.webspeech.synth.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Document Tags and Contributors

Contributors to this page: fscholz, abbycar, chrisdavidmills
Last updated by: fscholz,