--- title: SpeechRecognition slug: Web/API/SpeechRecognition translation_of: Web/API/SpeechRecognition ---
{{APIRef("Web Speech API")}}{{SeeCompatTable}}
SpeechRecognition est l'interface contrôleur du service de reconnaissance de la Web Speech API; elle gère également les {{domxref("SpeechRecognitionEvent")}} envoyés par le service de reconnaissance.
SpeechRecognitionSpeechRecognition hérite également des propriétés de son interface parente, {{domxref("EventTarget")}}.
SpeechRecognition.SpeechRecognition. Si elle n'est pas spécifiée, prend la valeur par défaut du HTML {{htmlattrxref("lang","html")}} ou le paramètre de langue du user agent si celle-ci n'est pas défini non plus.false.)true) ou pas (false.) Les résultats intermédiaires sont des résultats qui ne sont pas encore définitifs. (e.x. ou la propriété {{domxref("SpeechRecognitionResult.isFinal")}} est false.)SpeechRecognition pour traiter la reconnaissance proprement dite. La valeur par défaut le chemin par défaut du user agent.SpeechRecognition actuelle.SpeechRecognition also inherits methods from its parent interface, {{domxref("EventTarget")}}.
SpeechRecognition.In our simple Speech color changer example, we create a new SpeechRecognition object instance using the {{domxref("SpeechRecognition.SpeechRecognition", "SpeechRecognition()")}} constructor, create a new {{domxref("SpeechGrammarList")}}, and set it to be the grammar that will be recognised by the SpeechRecognition instance using the {{domxref("SpeechRecognition.grammars")}} property.
After some other values have been defined, we then set it so that the recognition service starts when a click event occurs (see {{domxref("SpeechRecognition.start()")}}.) When a result has been successfully recognised, the {{domxref("SpeechRecognition.onresult")}} handler fires, we extract the color that was spoken from the event object, and then set the background color of the {{htmlelement("html")}} element to that colour.
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;
//recognition.continuous = false;
recognition.lang = 'en-US';
recognition.interimResults = false;
recognition.maxAlternatives = 1;
var diagnostic = document.querySelector('.output');
var bg = document.querySelector('html');
document.body.onclick = function() {
recognition.start();
console.log('Ready to receive a color command.');
}
recognition.onresult = function(event) {
var color = event.results[0][0].transcript;
diagnostic.textContent = 'Result received: ' + color;
bg.style.backgroundColor = color;
}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Web Speech API', '#speechreco-section', 'SpeechRecognition')}} | {{Spec2('Web Speech API')}} |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | {{CompatChrome(33)}}{{property_prefix("webkit")}} [1] | {{CompatNo}} [2] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
continuous |
{{CompatChrome(33)}} [1] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
| Feature | Android | Chrome | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | {{CompatUnknown}} | {{CompatVersionUnknown}}[1] | {{CompatGeckoMobile(44)}} | 2.5 | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
continuous |
{{CompatUnknown}} | {{CompatVersionUnknown}}[1] | {{CompatUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
webkitSpeechRecognition; You'll also need to serve your code through a web server for recognition to work.media.webspeech.recognition.enable flag in about:config on mobile. Not implemented at all on Desktop Firefox — see {{bug(1248897)}}.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"