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
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.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
SpeechGrammar | Chrome
Full support
25
| Edge
Full support
79
| Firefox
Full support
44
| 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
|
SpeechGrammar() constructor | Chrome
Full support
25
| Edge
Full support
79
| Firefox
Full support
44
| 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
|
src | Chrome Full support 25 | Edge Full support 79 | Firefox
Full support
44
| 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 |
weight | Chrome Full support 25 | Edge Full support 79 | Firefox
Full support
44
| 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.