SpeechRecognitionResult

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

The SpeechRecognitionResult interface of the Web Speech API represents a single recognition match, which may contain multiple SpeechRecognitionAlternative objects.

Properties

SpeechRecognitionResult.isFinal Read only
A Boolean that states whether this result is final (true) or not (false) — if so, then this is the final time this result will be returned; if not, then this result is an interim result, and may be updated later on.
SpeechRecognitionResult.length Read only
Returns the length of the "array" — the number of SpeechRecognitionAlternative objects contained in the result (also referred to as "n-best alternatives".)

Methods

SpeechRecognitionResult.item
A standard getter that allows SpeechRecognitionAlternative objects within the result to be accessed via array syntax.

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 'SpeechRecognitionResult' in that specification.
Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support33 webkit 1 ? No No No No
isFinal33 webkit 1 ? No No No No
length33 webkit 1 ? No No No No
item33 webkit 1 ? No No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes webkit 1 Yes webkit 1 ? No No No ?
isFinal Yes webkit 1 Yes webkit 1 ? No No No ?
length Yes webkit 1 Yes webkit 1 ? No No No ?
item Yes webkit 1 Yes webkit 1 ? No No No ?

1. You'll need to serve your code through a web server for recognition to work.

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"

See also

Document Tags and Contributors

Contributors to this page: lucian95, chrisdavidmills
Last updated by: lucian95,