--- title: SpeechRecognitionResult slug: Web/API/SpeechRecognitionResult tags: - API - Experimental - Interface - NeedsTranslation - Reference - SpeechRecognitionResult - TopicStub - Web Speech API - recognition - speech translation_of: Web/API/SpeechRecognitionResult ---
{{APIRef("Web Speech API")}}{{SeeCompatTable}}
The SpeechRecognitionResult interface of the Web Speech API represents a single recognition match, which may contain multiple {{domxref("SpeechRecognitionAlternative")}} objects.
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;
}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Web Speech API', '#speechreco-result', 'SpeechRecognitionResult')}} | {{Spec2('Web Speech API')}} |
{{Compat("api.SpeechRecognitionResult")}}
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"