MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-survey

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

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.

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

Specifications

Specification Status Comment
Web Speech API
La définition de 'SpeechRecognition' dans cette spécification.
Projet  

Browser compatibility

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33webkit [1] Pas de support [2] Pas de support Pas de support Pas de support
continuous 33 [1] Pas de support Pas de support Pas de support Pas de support
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support ? (Oui)[1] 44.0 (44) 2.5 Pas de support Pas de support Pas de support
continuous ? (Oui)[1] ? Pas de support Pas de support Pas de support Pas de support
  • [1] Speech recognition interfaces are currently prefixed in Chrome, so you'll need to prefix interface names appropriately, e.g. webkitSpeechRecognition; You'll also need to serve your code through a web server for recognition to work.
  • [2] Can be enabled via the media.webspeech.recognition.enable flag in about:config on mobile. Not implemented at all on Desktop Firefox — see bug 1248897.

Firefox OS permissions

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"

See also

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SamuelCompagnon
 Dernière mise à jour par : SamuelCompagnon,