SpeechRecognitionEngine Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit le moyen d'accéder et de gérer à un module de reconnaissance vocale in-process.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- Héritage
-
SpeechRecognitionEngine
- Implémente
Exemples
L’exemple suivant montre une partie d’une application console qui illustre la reconnaissance vocale de base. Étant donné que cet exemple utilise le Multiple
mode de la RecognizeAsync méthode, il procède à la reconnaissance jusqu’à ce que vous fermiez la fenêtre de console ou que vous arrêtiez le débogage.
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
Remarques
Vous pouvez créer une instance de cette classe pour n’importe quel module de reconnaissance vocale installé. Pour obtenir des informations sur les identificateurs qui sont installés, utilisez la InstalledRecognizers méthode statique.
Cette classe est destinée à exécuter des moteurs de reconnaissance vocale en cours de traitement et permet de contrôler divers aspects de la reconnaissance vocale, comme suit :
Pour créer un module de reconnaissance vocale in-process, utilisez l’un des SpeechRecognitionEngine constructeurs.
Pour gérer les grammaires de la reconnaissance vocale, utilisez les LoadGrammar méthodes,, LoadGrammarAsync UnloadGrammar et UnloadAllGrammars , ainsi que la Grammars propriété.
Pour configurer l’entrée dans le module de reconnaissance, utilisez la SetInputToAudioStream méthode,,, SetInputToDefaultAudioDevice SetInputToNull SetInputToWaveFile ou SetInputToWaveStream .
Pour effectuer la reconnaissance vocale, utilisez Recognize la RecognizeAsync méthode ou.
Pour modifier la façon dont la reconnaissance gère le silence ou une entrée inattendue, utilisez les BabbleTimeout Propriétés,, InitialSilenceTimeout EndSilenceTimeout et EndSilenceTimeoutAmbiguous .
Pour modifier le nombre de remplacements renvoyés par le module de reconnaissance, utilisez la MaxAlternates propriété. Le module de reconnaissance retourne les résultats de la reconnaissance dans un RecognitionResult objet.
Pour synchroniser les modifications apportées au module de reconnaissance, utilisez la RequestRecognizerUpdate méthode. Le module de reconnaissance utilise plusieurs threads pour effectuer des tâches.
Pour émuler l’entrée dans le module de reconnaissance, utilisez les EmulateRecognize EmulateRecognizeAsync méthodes et.
L' SpeechRecognitionEngine objet est destiné à l’usage exclusif du processus qui a instancié l’objet. En revanche, le SpeechRecognizer partage un seul module de reconnaissance avec toute application qui souhaite l’utiliser.
Notes
Appelez toujours Dispose avant de libérer votre dernière référence au module de reconnaissance vocale. Dans le cas contraire, les ressources utilisées ne seront pas libérées tant que le garbage collector n’aura pas appelé la méthode de l’objet de reconnaissance Finalize
.
Constructeurs
SpeechRecognitionEngine() |
Initialise une nouvelle instance de la classe SpeechRecognitionEngine à l'aide du mode de reconnaissance vocale par défaut pour le système. |
SpeechRecognitionEngine(CultureInfo) |
Initialise une nouvelle instance de la classe SpeechRecognitionEngine à l'aide du mode de reconnaissance vocale par défaut pour les paramètres régionaux spécifiés. |
SpeechRecognitionEngine(RecognizerInfo) |
Initialise une nouvelle instance de SpeechRecognitionEngine à l'aide des informations d'un objet RecognizerInfo pour spécifier le module de reconnaissance à utiliser. |
SpeechRecognitionEngine(String) |
Initialise une nouvelle instance de la classe SpeechRecognitionEngine avec un paramètre de chaîne qui spécifie le nom du module de reconnaissance à utiliser. |
Propriétés
AudioFormat |
Obtient le format de l'audio reçu par le SpeechRecognitionEngine. |
AudioLevel |
Obtient le niveau de l'audio reçu par le SpeechRecognitionEngine. |
AudioPosition |
Obtient la position actuelle dans le flux audio généré par le périphérique qui gère les entrées pour SpeechRecognitionEngine. |
AudioState |
Obtient l'état de l'audio reçu par le SpeechRecognitionEngine. |
BabbleTimeout |
Obtient ou définit l'intervalle de temps pendant lequel SpeechRecognitionEngine accepte une entrée contenant uniquement un son d'arrière-plan, avant la finalisation de la reconnaissance. |
EndSilenceTimeout |
Obtient ou définit l'intervalle de silence que SpeechRecognitionEngine acceptera à la fin de l'entrée sans ambiguïté avant de finaliser une opération de reconnaissance. |
EndSilenceTimeoutAmbiguous |
Obtient ou définit l'intervalle de silence que SpeechRecognitionEngine acceptera à la fin de l'entrée ambiguë avant de finaliser une opération de reconnaissance. |
Grammars |
Obtient une collection des objets Grammar chargés dans cette instance SpeechRecognitionEngine. |
InitialSilenceTimeout |
Obtient ou définit l'intervalle de temps pendant lequel SpeechRecognitionEngine accepte une entrée contenant uniquement un silence, avant la finalisation de la reconnaissance. |
MaxAlternates |
Obtient ou définit le nombre maximal de résultats de reconnaissance de substitution retournés pour chaque opération de reconnaissance par le SpeechRecognitionEngine. |
RecognizerAudioPosition |
Obtient la position actuelle du SpeechRecognitionEngine dans l'entrée audio qu'il gère. |
RecognizerInfo |
Obtient des informations sur l'instance actuelle de SpeechRecognitionEngine. |
Méthodes
Dispose() |
Supprime l'objet SpeechRecognitionEngine. |
Dispose(Boolean) |
Supprime l’objet SpeechRecognitionEngine et libère les ressources utilisées pendant la session. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant le texte à la place de l'audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées. |
EmulateRecognize(String) |
Émule l'entrée d'une expression dans le module de reconnaissance vocale, en utilisant le texte à la place de l'audio pour la reconnaissance vocale synchrone. |
EmulateRecognize(String, CompareOptions) |
Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte à la place de l'audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant un tableau d'objets RecognizedWordUnit à la place de l'audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées. |
EmulateRecognizeAsync(String) |
Émule l'entrée d'une expression dans le module de reconnaissance vocale, en utilisant le texte à la place de l'audio pour la reconnaissance vocale asynchrone. |
EmulateRecognizeAsync(String, CompareOptions) |
Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte à la place de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
InstalledRecognizers() |
Retourne les informations sur tous les modules de reconnaissance vocale installés sur le système actuel. |
LoadGrammar(Grammar) |
Charge un objet Grammar de façon synchrone. |
LoadGrammarAsync(Grammar) |
Charge une syntaxe de reconnaissance vocale de façon asynchrone. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
QueryRecognizerSetting(String) |
Retourne les valeurs des paramètres pour le module de reconnaissance. |
Recognize() |
Effectue une opération de reconnaissance vocale synchrone. |
Recognize(TimeSpan) |
Effectue une opération de reconnaissance vocale synchrone avec un délai d'attente de silence initial spécifié. |
RecognizeAsync() |
Effectue une opération de reconnaissance vocale unique et asynchrone. |
RecognizeAsync(RecognizeMode) |
Exécute une ou plusieurs opérations de reconnaissance vocale asynchrones. |
RecognizeAsyncCancel() |
Met fin à la reconnaissance asynchrone sans attendre que l'opération de reconnaissance en cours se termine. |
RecognizeAsyncStop() |
Arrête la reconnaissance asynchrone lorsque l'opération de reconnaissance active se termine. |
RequestRecognizerUpdate() |
Demande que le module de reconnaissance soit suspendu pour mettre à jour son état. |
RequestRecognizerUpdate(Object) |
Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un jeton utilisateur pour l'événement associé. |
RequestRecognizerUpdate(Object, TimeSpan) |
Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un offset et un jeton utilisateur pour l'événement associé. |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
Configure l'objet SpeechRecognitionEngine pour recevoir l'entrée d'un flux audio. |
SetInputToDefaultAudioDevice() |
Configure l'objet SpeechRecognitionEngine pour recevoir l'entrée du périphérique audio par défaut. |
SetInputToNull() |
Désactive l'entrée au module de reconnaissance vocale. |
SetInputToWaveFile(String) |
Configure l'objet SpeechRecognitionEngine pour recevoir l'entrée d'un fichier au format audio Waveform (.wav). |
SetInputToWaveStream(Stream) |
Configure l'objet SpeechRecognitionEngine pour recevoir l'entrée d'un flux qui contient des données au format audio Waveform (.wav). |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
UnloadAllGrammars() |
Décharge tous les objets Grammar du module de reconnaissance. |
UnloadGrammar(Grammar) |
Décharge un objet Grammar spécifié de l'instance SpeechRecognitionEngine. |
UpdateRecognizerSetting(String, Int32) |
Met à jour le paramètre spécifié pour SpeechRecognitionEngine avec la valeur entière spécifiée. |
UpdateRecognizerSetting(String, String) |
Met à jour le paramètre du moteur de reconnaissance vocale spécifié avec la valeur de chaîne spécifiée. |
Événements
AudioLevelUpdated |
Déclenché lorsque SpeechRecognitionEngine stocke le niveau de son entrée audio. |
AudioSignalProblemOccurred |
Déclenché lorsque SpeechRecognitionEngine détecte un problème dans le signal audio. |
AudioStateChanged |
Déclenché lorsque l'état audio reçu par le SpeechRecognitionEngine change. |
EmulateRecognizeCompleted |
Déclenché lorsque SpeechRecognitionEngine finalise un module de reconnaissance asynchrone d'entrée émulée. |
LoadGrammarCompleted |
Déclenché lorsque SpeechRecognitionEngine termine le chargement asynchrone d'un objet Grammar. |
RecognizeCompleted |
Déclenché lorsque SpeechRecognitionEngine finalise un module de reconnaissance asynchrone. |
RecognizerUpdateReached |
Déclenché lorsque SpeechRecognitionEngine en cours d'exécution est suspendu pour accepter les modifications. |
SpeechDetected |
Déclenché lorsque SpeechRecognitionEngine détecte l'entrée qu'il peut identifier comme vocale. |
SpeechHypothesized |
Déclenché lorsque SpeechRecognitionEngine a identifié un mot ou des mots qui peuvent être un composant de plusieurs expressions complètes dans une syntaxe. |
SpeechRecognitionRejected |
Déclenché lorsque l'objet SpeechRecognitionEngine reçoit l'entrée qui ne correspond pas à l'un de ses objets Grammar chargés et activés. |
SpeechRecognized |
Déclenché lorsque l'objet SpeechRecognitionEngine reçoit l'entrée qui correspond à l'un de ses objets Grammar chargés et activés. |