This is an experimental technologyCheck 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 APIThe definition of 'SpeechGrammar' in that specification. | Draft |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome Full support 25 Full support 25 Prefixed' Implemented with the vendor prefix: webkit |
Edge Full support 79 Full support 79 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Full support 44 Full support 44 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 |
IE
No support No |
Opera
Full support 27 |
Safari
No support No |
WebView Android
No support No |
Chrome Android Full support 64 Full support 64 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android Full support 9.0 Full support 9.0 Prefixed' Implemented with the vendor prefix: webkit |
Chrome Full support 25 Full support 25 Prefixed' Implemented with the vendor prefix: webkit |
Edge Full support 79 Full support 79 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Full support 44 Full support 44 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 |
IE
No support No |
Opera
Full support 27 |
Safari
No support No |
WebView Android
No support No |
Chrome Android Full support 64 Full support 64 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android Full support 9.0 Full support 9.0 Prefixed' Implemented with the vendor prefix: webkit | |
Chrome
Full support 25 |
Edge
Full support 79 |
Firefox Full support 44 Full support 44 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 |
IE
No support No |
Opera
Full support 27 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 64 |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
Full support 9.0 | |
Chrome
Full support 25 |
Edge
Full support 79 |
Firefox Full support 44 Full support 44 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 |
IE
No support No |
Opera
Full support 27 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 64 |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung 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
SpeechGrammar by Mozilla Contributors is licensed under CC-BY-SA 2.5.