--- 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"