SpeechRecognizer 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 l’accès au service de reconnaissance vocale partagée disponible sur le bureau Windows.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Héritage
-
SpeechRecognizer
- Implémente
Exemples
L’exemple suivant fait partie d’une application console qui charge une grammaire de reconnaissance vocale et illustre une entrée émulée asynchrone, les résultats de la reconnaissance associée et les événements associés déclenchés par le module de reconnaissance vocale. Si la reconnaissance vocale Windows n’est pas en cours d’exécution, le démarrage de cette application démarre également la reconnaissance vocale Windows. Si la reconnaissance vocale Windows est dans l’état veille , retourne EmulateRecognizeAsync toujours null.
using System;
using System.Speech.Recognition;
using System.Threading;
namespace SharedRecognizer
{
class Program
{
// Indicate whether the asynchronous emulate recognition
// operation has completed.
static bool completed;
static void Main(string[] args)
{
// Initialize an instance of the shared recognizer.
using (SpeechRecognizer recognizer = new SpeechRecognizer())
{
// Create and load a sample grammar.
Grammar testGrammar =
new Grammar(new GrammarBuilder("testing testing"));
testGrammar.Name = "Test Grammar";
recognizer.LoadGrammar(testGrammar);
// Attach event handlers for recognition events.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.EmulateRecognizeCompleted +=
new EventHandler<EmulateRecognizeCompletedEventArgs>(
EmulateRecognizeCompletedHandler);
completed = false;
// Start asynchronous emulated recognition.
// This matches the grammar and generates a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing testing");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
completed = false;
// Start asynchronous emulated recognition.
// This does not match the grammar or generate a SpeechRecognized event.
recognizer.EmulateRecognizeAsync("testing one two three");
// Wait for the asynchronous operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the SpeechRecognized event.
static void SpeechRecognizedHandler(
object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null)
{
Console.WriteLine("Recognition result = {0}",
e.Result.Text ?? "<no text>");
}
else
{
Console.WriteLine("No recognition result");
}
}
// Handle the SpeechRecognizeCompleted event.
static void EmulateRecognizeCompletedHandler(
object sender, EmulateRecognizeCompletedEventArgs e)
{
if (e.Result == null)
{
Console.WriteLine("No result generated.");
}
// Indicate the asynchronous operation is complete.
completed = true;
}
}
}
Remarques
Les applications utilisent le module de reconnaissance vocale partagée pour accéder à la reconnaissance vocale Windows. Utilisez l’objet SpeechRecognizer pour ajouter à l’expérience utilisateur de reconnaissance vocale Windows.
Cette classe permet de contrôler différents aspects du processus de reconnaissance vocale :
Pour gérer les grammaires de reconnaissance vocale, utilisez le LoadGrammar, , LoadGrammarAsyncUnloadGrammar, UnloadAllGrammarset Grammars.
Pour obtenir des informations sur les opérations de reconnaissance vocale actuelles, abonnez-vous aux événements et aux événements du SpeechRecognizerSpeechRecognitionRejectedSpeechDetectedSpeechHypothesizedgroupe.SpeechRecognized
Pour afficher ou modifier le nombre de résultats alternatifs retournés par le module de reconnaissance, utilisez la MaxAlternates propriété. Le module de reconnaissance retourne des résultats de reconnaissance dans un RecognitionResult objet.
Pour accéder ou surveiller l’état du module de reconnaissance partagé, utilisez le AudioLevel, , AudioPositionAudioState, Enabled, PauseRecognizerOnRecognition, RecognizerAudioPosition, et State les propriétés et les AudioLevelUpdatedévénements , AudioSignalProblemOccurred, AudioStateChangedet StateChanged les événements.
Pour synchroniser les modifications apportées au module de reconnaissance, utilisez la RequestRecognizerUpdate méthode. Le module de reconnaissance partagée utilise plusieurs threads pour effectuer des tâches.
Pour émuler l’entrée dans le module de reconnaissance partagée, utilisez les méthodes et EmulateRecognizeAsync les EmulateRecognize méthodes.
La configuration de la reconnaissance vocale Windows est gérée par l’utilisation de la boîte de dialogue Propriétés vocales dans le Panneau de configuration. Cette interface permet de sélectionner le moteur et la langue de reconnaissance vocale de bureau par défaut, l’appareil d’entrée audio et le comportement de veille de la reconnaissance vocale. Si la configuration de la reconnaissance vocale Windows est modifiée pendant l’exécution de l’application (par exemple, si la reconnaissance vocale est désactivée ou que la langue d’entrée est modifiée), la modification affecte tous les SpeechRecognizer objets.
Pour créer un module de reconnaissance vocale in-process indépendant de la reconnaissance vocale Windows, utilisez la SpeechRecognitionEngine classe.
Note
Appelez Dispose toujours avant de publier votre dernière référence au module de reconnaissance vocale. Sinon, les ressources qu’il utilise ne seront pas libérées tant que le garbage collector n’appelle pas la méthode de l’objet Finalize recognizer.
Constructeurs
| Nom | Description |
|---|---|
| SpeechRecognizer() |
Initialise une nouvelle instance de la classe SpeechRecognizer. |
Propriétés
| Nom | Description |
|---|---|
| AudioFormat |
Obtient le format de l’audio reçu par le module de reconnaissance vocale. |
| AudioLevel |
Obtient le niveau de l’audio reçu par le module de reconnaissance vocale. |
| AudioPosition |
Obtient l’emplacement actuel du flux audio généré par l’appareil qui fournit une entrée au module de reconnaissance vocale. |
| AudioState |
Obtient l’état de l’audio reçu par le module de reconnaissance vocale. |
| Enabled |
Obtient ou définit une valeur qui indique si cet SpeechRecognizer objet est prêt à traiter la voix. |
| Grammars |
Obtient une collection des Grammar objets chargés dans cette SpeechRecognizer instance. |
| MaxAlternates |
Obtient ou définit le nombre maximal de résultats de reconnaissance alternatifs retournés par le module de reconnaissance partagée pour chaque opération de reconnaissance. |
| PauseRecognizerOnRecognition |
Obtient ou définit une valeur qui indique si le module de reconnaissance partagée interrompt les opérations de reconnaissance pendant qu’une application gère un SpeechRecognized événement. |
| RecognizerAudioPosition |
Obtient l’emplacement actuel du module de reconnaissance dans l’entrée audio qu’il traite. |
| RecognizerInfo |
Obtient des informations sur le module de reconnaissance vocale partagée. |
| State |
Obtient l’état d’un objet SpeechRecognizer. |
Méthodes
| Nom | Description |
|---|---|
| Dispose() |
Supprime l’objet SpeechRecognizer . |
| Dispose(Boolean) |
Supprime l’objet SpeechRecognizer et libère les ressources utilisées pendant la session. |
| EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Émule l’entrée de mots spécifiques au module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale synchrone et spécifie comment le module de reconnaissance vocale gère la comparaison Unicode entre les mots et les grammaires de reconnaissance vocale chargées. |
| EmulateRecognize(String, CompareOptions) |
Émule l’entrée d’une expression au module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale synchrone, et spécifie comment le module de reconnaissance vocale gère la comparaison Unicode entre l’expression et les grammaires de reconnaissance vocale chargées. |
| EmulateRecognize(String) |
Émule l’entrée d’une expression dans le module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale synchrone. |
| EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Émule l’entrée de mots spécifiques au module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale asynchrone et spécifie comment le module de reconnaissance vocale gère la comparaison Unicode entre les mots et les grammaires de reconnaissance vocale chargées. |
| EmulateRecognizeAsync(String, CompareOptions) |
Émule l’entrée d’une expression dans le module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale asynchrone et spécifie comment le module de reconnaissance vocale gère la comparaison Unicode entre l’expression et les grammaires de reconnaissance vocale chargées. |
| EmulateRecognizeAsync(String) |
Émule l’entrée d’une expression dans le module de reconnaissance vocale partagée, en utilisant du texte au lieu de l’audio pour la reconnaissance vocale asynchrone. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| LoadGrammar(Grammar) |
Charge une grammaire de reconnaissance vocale. |
| LoadGrammarAsync(Grammar) |
Charge de manière asynchrone une grammaire de reconnaissance vocale. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| RequestRecognizerUpdate() |
Demande que le module de reconnaissance partagée suspende et met à jour son état. |
| RequestRecognizerUpdate(Object, TimeSpan) |
Demande que le module de reconnaissance partagée suspende et met à jour son état et fournit un décalage et un jeton utilisateur pour l’événement associé. |
| RequestRecognizerUpdate(Object) |
Demande que le module de reconnaissance partagé suspende et met à jour son état et fournit un jeton utilisateur pour l’événement associé. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| UnloadAllGrammars() |
Décharge toutes les grammaires de reconnaissance vocale à partir du module de reconnaissance partagée. |
| UnloadGrammar(Grammar) |
Décharge une grammaire de reconnaissance vocale spécifiée à partir du module de reconnaissance vocale partagée. |
Événements
| Nom | Description |
|---|---|
| AudioLevelUpdated |
Se produit lorsque le module de reconnaissance partagé signale le niveau de son entrée audio. |
| AudioSignalProblemOccurred |
Se produit lorsque le module de reconnaissance rencontre un problème dans le signal audio. |
| AudioStateChanged |
Se produit lorsque l’état change dans l’audio reçu par le module de reconnaissance. |
| EmulateRecognizeCompleted |
Se produit lorsque le module de reconnaissance partagée finalise une opération de reconnaissance asynchrone pour l’entrée émulée. |
| LoadGrammarCompleted |
Se produit lorsque le module de reconnaissance termine le chargement asynchrone d’une grammaire de reconnaissance vocale. |
| RecognizerUpdateReached |
Se produit lorsque le module de reconnaissance s’interrompt pour synchroniser la reconnaissance et d’autres opérations. |
| SpeechDetected |
Se produit lorsque le module de reconnaissance détecte l’entrée qu’il peut identifier en tant que reconnaissance vocale. |
| SpeechHypothesized |
Se produit lorsque le module de reconnaissance a reconnu un mot ou des mots qui peuvent être un composant de plusieurs expressions complètes dans une grammaire. |
| SpeechRecognitionRejected |
Se produit lorsque le module de reconnaissance reçoit une entrée qui ne correspond à aucune des grammaires de reconnaissance vocale qu’il a chargées. |
| SpeechRecognized |
Se produit lorsque le module de reconnaissance reçoit une entrée qui correspond à l’une de ses grammaires de reconnaissance vocale. |
| StateChanged |
Se produit lorsque l’état en cours d’exécution du moteur de reconnaissance vocale Windows Desktop Speech change. |