You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!
The SpeechRecognitionEvent
interface of the Web Speech API represents the event object for the result
and nomatch
events, and contains all the data associated with an interim or final speech recognition result.
Properties
SpeechRecognitionEvent
also inherits properties from its parent interface, Event
.
SpeechRecognitionEvent.emma
Read only- Returns an Extensible MultiModal Annotation markup language (EMMA) — XML — representation of the result.
SpeechRecognitionEvent.interpretation
Read only- Returns the semantic meaning of what the user said.
SpeechRecognitionEvent.resultIndex
Read only- Returns the lowest index value result in the
SpeechRecognitionResultList
"array" that has actually changed. SpeechRecognitionEvent.results
Read only- Returns a
SpeechRecognitionResultList
object representing all the speech recognition results for the current session.
Examples
This code is excerpted from our Speech color changer example.
recognition.onresult = function(event) { // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects. // It has a getter so it can be accessed like an array // The first [0] returns the SpeechRecognitionResult at position 0. // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results. // These also have getters so they can be accessed like arrays. // The second [0] returns the SpeechRecognitionAlternative at position 0. // We then return the transcript property of the SpeechRecognitionAlternative object var color = event.results[0][0].transcript; diagnostic.textContent = 'Result received: ' + color + '.'; bg.style.backgroundColor = color; }
Specifications
Specification | Status | Comment |
---|---|---|
Web Speech API The definition of 'SpeechRecognitionEvent' 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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
SpeechRecognitionEvent | Chrome
Full support
33
| Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
emma | Chrome
Full support
33
| Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
interpretation | Chrome
Full support
33
| Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
resultIndex | Chrome
Full support
33
| Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
results | Chrome
Full support
33
| Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
Firefox OS permissions
To use speech recognition in an app, you need to specify the following permissions in your manifest:
"permissions": { "audio-capture" : { "description" : "Audio capture" }, "speech-recognition" : { "description" : "Speech recognition" } }
You also need a privileged app, so you need to include this as well:
"type": "privileged"