SpeechGrammar

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

The SpeechGrammar interface of the Web Speech API represents a set of words or patterns of words that we want the recognition service to recognize.

Grammar is defined using JSpeech Grammar Format (JSGF.) Other formats may also be supported in the future.

Constructor

SpeechGrammar.SpeechGrammar()
Creates a new SpeechGrammar object.

Properties

SpeechGrammar.src
Sets and returns a string containing the grammar from within in the SpeechGrammar object instance.
SpeechGrammar.weight Optional
Sets and returns the weight of the SpeechGrammar object.

Examples

var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;


console.log(speechRecognitionList[0].src); // should return the same as the contents of the grammar variable
console.log(speechRecognitionList[0].weight); // should return 1 - the same as the weight set in line 4.

Specifications

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

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
SpeechGrammar
Experimental
Chrome Full support 25
Prefixed
Full support 25
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 79
Prefixed
Full support 79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Full support 44
Notes Disabled
Full support 44
Notes Disabled
Notes Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out.
Disabled From version 44: this feature is behind the media.webspeech.recognition.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 27Safari No support NoWebView Android No support NoChrome Android Full support 64
Prefixed
Full support 64
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 9.0
Prefixed
Full support 9.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit
SpeechGrammar() constructor
Experimental
Chrome Full support 25
Prefixed
Full support 25
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 79
Prefixed
Full support 79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Full support 44
Notes Disabled
Full support 44
Notes Disabled
Notes Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out.
Disabled From version 44: this feature is behind the media.webspeech.recognition.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 27Safari No support NoWebView Android No support NoChrome Android Full support 64
Prefixed
Full support 64
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 9.0
Prefixed
Full support 9.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit
src
Experimental
Chrome Full support 25Edge Full support 79Firefox Full support 44
Notes Disabled
Full support 44
Notes Disabled
Notes Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out.
Disabled From version 44: this feature is behind the media.webspeech.recognition.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 27Safari No support NoWebView Android No support NoChrome Android Full support 64Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 9.0
weight
Experimental
Chrome Full support 25Edge Full support 79Firefox Full support 44
Notes Disabled
Full support 44
Notes Disabled
Notes Note that currently only the speech synthesis part is available in Firefox Desktop - the speech recognition part will be available soon, once the required internal permissions are sorted out.
Disabled From version 44: this feature is behind the media.webspeech.recognition.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 27Safari No support NoWebView Android No support NoChrome Android Full support 64Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 9.0

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also