SpeechRecognition
=================

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

**`SpeechRecognition`** est l'interface contrôleur du service de reconnaissance de la Web Speech API; elle gère également les `SpeechRecognitionEvent` (en-US) envoyés par le service de reconnaissance.

Constructeur
------------

`SpeechRecognition.SpeechRecognition()` (en-US)

Crée un nouvel objet `SpeechRecognition`

Propriétés
----------

*`SpeechRecognition` hérite également des propriétés de son interface parente, `EventTarget`.*

`SpeechRecognition.grammars` (en-US)

Retourne et définit une collection d'objets `SpeechGrammar` (en-US) représentant les grammaires qui seront comprises par `SpeechRecognition`.

`SpeechRecognition.lang` (en-US)

Retourne et définit la langue de `SpeechRecognition`. Si elle n'est pas spécifiée, prend la valeur par défaut du HTML `lang` ou le paramètre de langue du user agent si celle-ci n'est pas défini non plus.

`SpeechRecognition.continuous` (en-US)

Contrôle si la reconnaissance est continue, ou retourne seulement un seul résultat. Par défaut retourne un seul résultat (`false`.)

`SpeechRecognition.interimResults` (en-US)

Contrôle si les résultats intermédiaires doivent être retournés (`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é `SpeechRecognitionResult.isFinal` (en-US) est `false`.)

`SpeechRecognition.maxAlternatives` (en-US)

Règle le nombre maximum de `SpeechRecognitionAlternative` (en-US) (d'alternatives) fourni par résultat. La valeur par défaut est 1.

`SpeechRecognition.serviceURI`

Spécifie l'emplacement du service de reconnaissance vocale utilisé par `SpeechRecognition` pour traiter la reconnaissance proprement dite. La valeur par défaut le chemin par défaut du user agent.

### Event handlers

`SpeechRecognition.onaudiostart` (en-US)

Déclenché lorsque l'agent utilisateur commence à capturer le son.

`SpeechRecognition.onaudioend` (en-US)

Déclenché lorsque l'agent utilisateur a terminé la capture audio.

`SpeechRecognition.onend` (en-US)

Déclenché lorsque le service de reconnaissance vocale est déconnecté.

`SpeechRecognition.onerror` (en-US)

Déclenché en cas d'erreur de reconnaissance vocale.

`SpeechRecognition.onnomatch` (en-US)

Déclenché lorsque le service de reconnaissance vocale retourne un résultat final sans concordance significative. Il peut s'agir d'un certain degré de reconnaissance, qui ne correspond pas ou ne dépasse le seuil de `confidence` (en-US).

`SpeechRecognition.onresult` (en-US)

Déclenché lorsque le service de reconnaissance vocale retourne un résultat - un mot ou une expression a donc été reconnu(e) positivement et cela a été communiqué à l'application.

`SpeechRecognition.onsoundstart` (en-US)

Déclenché lorsqu'un son - parole reconnaissable ou non - a été détecté.

`SpeechRecognition.onsoundend` (en-US)

Déclenché lorsque le son - parole reconnaissable ou non - n'est plus détecté.

`SpeechRecognition.onspeechstart` (en-US)

Déclenché lorsque du son à été reconnu par le service de reconnaissance vocale comme de la parole.

`SpeechRecognition.onspeechend` (en-US)

Déclenché lorsque la parole reconnue par le service de reconnaissance vocale a cesse d'être détectée.

`SpeechRecognition.onstart` (en-US)

Déclenché lorsque le service de reconnaissance vocale commence à écouter l'audio entrant, dans le but de reconnaître les grammaires associées à la (reconnaissance vocale) `SpeechRecognition` actuelle.

Methods
-------

*`SpeechRecognition` also inherits methods from its parent interface, `EventTarget`.*

`SpeechRecognition.abort()` (en-US)

Stops the speech recognition service from listening to incoming audio, and doesn't attempt to return a `SpeechRecognitionResult` (en-US).

`SpeechRecognition.start()` (en-US)

Starts the speech recognition service listening to incoming audio with intent to recognize grammars associated with the current `SpeechRecognition`.

`SpeechRecognition.stop()` (en-US)

Stops the speech recognition service from listening to incoming audio, and attempts to return a `SpeechRecognitionResult` (en-US) using the audio captured so far.

Examples
--------

In our simple Speech color changer example, we create a new `SpeechRecognition` object instance using the `SpeechRecognition()` (en-US) constructor, create a new `SpeechGrammarList` (en-US), and set it to be the grammar that will be recognised by the `SpeechRecognition` instance using the `SpeechRecognition.grammars` (en-US) property.

After some other values have been defined, we then set it so that the recognition service starts when a click event occurs (see `SpeechRecognition.start()` (en-US).) When a result has been successfully recognised, the `SpeechRecognition.onresult` (en-US) handler fires, we extract the color that was spoken from the event object, and then set the background color of the `<html>` element to that colour.


```js
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;
};
```

Spécifications
--------------

| Specification |
| --- |
| Web Speech API # speechreco-section |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Web Speech API