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 envoyés par le service de reconnaissance.

Constructeur

SpeechRecognition.SpeechRecognition()

Crée un nouvel objet SpeechRecognition

Propriétés

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

SpeechRecognition.grammars

Retourne et définit une collection d'objets SpeechGrammar représentant les grammaires qui seront comprises par SpeechRecognition.

SpeechRecognition.lang

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

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

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 est false.)

SpeechRecognition.maxAlternatives

Règle le nombre maximum de SpeechRecognitionAlternative (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

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

SpeechRecognition.onaudioend

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

SpeechRecognition.onend

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

SpeechRecognition.onerror

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

SpeechRecognition.onnomatch

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.

SpeechRecognition.onresult

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

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

SpeechRecognition.onsoundend

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

SpeechRecognition.onspeechstart

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

SpeechRecognition.onspeechend

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

SpeechRecognition.onstart

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()

Stops the speech recognition service from listening to incoming audio, and doesn't attempt to return a SpeechRecognitionResult.

SpeechRecognition.start()

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

SpeechRecognition.stop()

Stops the speech recognition service from listening to incoming audio, and attempts to return a SpeechRecognitionResult using the audio captured so far.

Examples

In our simple Speech color changer example, we create a new SpeechRecognition object instance using the SpeechRecognition() constructor, create a new SpeechGrammarList, and set it to be the grammar that will be recognised by the SpeechRecognition instance using the 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 SpeechRecognition.start().) When a result has been successfully recognised, the SpeechRecognition.onresult 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

Voir aussi