SpeechRecognitionEngine Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Möglichkeit bereit, auf eine prozessinterne Spracherkennungs-Engine zuzugreifen und dieses zu verwalten.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- Vererbung
-
SpeechRecognitionEngine
- Implementiert
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Da in diesem Beispiel der Multiple
Modus der- RecognizeAsync Methode verwendet wird, wird die Erkennung ausgeführt, bis Sie das Konsolenfenster schließen oder das Debuggen beenden.
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);
}
}
}
Hinweise
Sie können eine Instanz dieser Klasse für alle installierten Sprach Erkennungsmethoden erstellen. Verwenden Sie die statische-Methode, um Informationen darüber zu erhalten, welche erkenatoren installiert sind InstalledRecognizers .
Diese Klasse dient zum Prozess internen Ausführen von sprach Erkennungs Modulen und bietet folgende Kontrolle über verschiedene Aspekte der Spracherkennung:
Verwenden Sie zum Erstellen eines in-Process-sprach Erkennungs Moduls einen der- SpeechRecognitionEngine Konstruktoren.
Um sprach Erkennungs Grammatiken zu verwalten, verwenden Sie die LoadGrammar LoadGrammarAsync Methoden,, UnloadGrammar und UnloadAllGrammars und die- Grammars Eigenschaft.
Verwenden Sie die-,-,-,-oder-Methode, um die Eingabe für die Erkennung zu konfigurieren SetInputToAudioStream SetInputToDefaultAudioDevice SetInputToNull SetInputToWaveFile SetInputToWaveStream .
Verwenden Sie zum Durchführen der Spracherkennung die- Recognize oder- RecognizeAsync Methode.
Verwenden Sie die BabbleTimeout InitialSilenceTimeout Eigenschaften,, und, um zu ändern, wie die Erkennung Ruhe oder unerwartete Eingaben behandelt EndSilenceTimeout EndSilenceTimeoutAmbiguous .
Verwenden Sie die-Eigenschaft, um die Anzahl der vom Erkennungs Modul zurückgegebenen Alternativen zu ändern MaxAlternates . Die Erkennung gibt Erkennungsergebnisse in einem- RecognitionResult Objekt zurück.
Verwenden Sie die-Methode, um Änderungen an der Erkennung zu synchronisieren RequestRecognizerUpdate . Die Erkennung verwendet mehr als einen Thread, um Aufgaben auszuführen.
Verwenden Sie die EmulateRecognize -Methode und die-Methode, um Eingaben für die Erkennung zu emulieren EmulateRecognizeAsync .
Das- SpeechRecognitionEngine Objekt dient der alleinigen Verwendung des-Prozesses, der das-Objekt instanziiert hat. Im Gegensatz dazu wird von SpeechRecognizer eine einzelne Erkennungsfunktion mit jeder Anwendung gemeinsam genutzt, die Sie verwenden möchten.
Hinweis
Wird immer aufgerufen Dispose , bevor Sie den letzten Verweis auf die Spracherkennung freigeben. Andernfalls werden die verwendeten Ressourcen nicht freigegeben, bis die Garbage Collector die-Methode des Erkennungs Moduls aufruft Finalize
.
Konstruktoren
SpeechRecognitionEngine() |
Initialisiert eine neue Instanz der SpeechRecognitionEngine-Klasse mithilfe des angegebenen Standardspracherkennungsmoduls für das System. |
SpeechRecognitionEngine(CultureInfo) |
Initialisiert mithilfe des angegebenen Standardspracherkennungsmoduls für ein angegebenes Gebietsschema eine neue Instanz der SpeechRecognitionEngine-Klasse. |
SpeechRecognitionEngine(RecognizerInfo) |
Initialisiert eine neue Instanz SpeechRecognitionEngine mithilfe der Informationen in einem RecognizerInfo-Objekt, um die zu verwendende Erkennung anzugeben. |
SpeechRecognitionEngine(String) |
Initialisiert eine neue Instanz der SpeechRecognitionEngine-Klasse mit einem Zeichenfolgenparameter, der den Namen der zu verwendenden Erkennung angibt. |
Eigenschaften
AudioFormat |
Ruft das Audioformat ab, das von SpeechRecognitionEngine empfangen wird. |
AudioLevel |
Ruft den Level des Audiosignals ab, die von der SpeechRecognitionEngine empfangen wird. |
AudioPosition |
Ruft die aktuelle Position im Audiostream ab, die durch das Gerät generiert wird, das die SpeechRecognitionEngine mit Eingaben versorgt. |
AudioState |
Ruft den Status des von SpeechRecognitionEngine empfangenen Audiosignals ab. |
BabbleTimeout |
Ruft das Zeitintervall ab oder legt dieses fest, während dessen eine SpeechRecognitionEngine Eingaben akzeptiert, welche nur Hintergrundgeräusche enthalten, bevor die Erkennung abgeschlossen wird. |
EndSilenceTimeout |
Ruft das Ruheintervall auf oder legt dieses fest, welches die SpeechRecognitionEngine am Ende von eindeutiger Eingabe akzeptieren wird, bevor ein Erkennungsvorgang finalisiert wird. |
EndSilenceTimeoutAmbiguous |
Ruft das Ruheintervall auf oder legt dieses fest, welches die SpeechRecognitionEngine am Ende von mehrdeutiger Eingabe akzeptieren wird, bevor ein Erkennungsvorgang finalisiert wird. |
Grammars |
Ruft eine Auflistung der Grammar-Objekte ab, die in diese SpeechRecognitionEngine-Instanz geladen werden. |
InitialSilenceTimeout |
Ruft das Zeitintervall ab oder legt dieses fest, während eine SpeechRecognitionEngine Eingaben akzeptiert, welche keine Geräusche enthalten, bevor die Erkennung abgeschlossen wird. |
MaxAlternates |
Ruft die Höchstzahl alternativer Erkennungsergebnisse ab oder legt diese fest, welche die SpeechRecognitionEngine für jeden Erkennungsvorgang zurückgibt. |
RecognizerAudioPosition |
Ruft die aktuelle Position von SpeechRecognitionEngine in der Audioeingabe ab, die verarbeitet wird. |
RecognizerInfo |
Ruft Informationen über die aktuelle Instanz von SpeechRecognitionEngine ab. |
Methoden
Dispose() |
Gibt das SpeechRecognitionEngine-Objekt frei. |
Dispose(Boolean) |
Verwirft das SpeechRecognitionEngine-Objekt und gibt Ressourcen frei, die während der Sitzung verwendet werden. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emuliert die Eingabe bestimmter Wörter für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt. |
EmulateRecognize(String) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet. |
EmulateRecognize(String, CompareOptions) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die synchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emuliert die Eingabe bestimmter Wörter für die freigegebene Spracherkennung. Dabei wird ein Array von RecognizedWordUnit-Objekten statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt. |
EmulateRecognizeAsync(String) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet. |
EmulateRecognizeAsync(String, CompareOptions) |
Emuliert die Eingabe eines Ausdrucks für die Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InstalledRecognizers() |
Gibt Informationen für alle installierten Spracherkennungen auf dem aktuellen System zurück. |
LoadGrammar(Grammar) |
Lädt synchron ein Grammar-Objekt. |
LoadGrammarAsync(Grammar) |
Lädt asynchron eine Spracherkennungsgrammatik. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
QueryRecognizerSetting(String) |
Gibt die Werte von Einstellungen für das Erkennungsmodul zurück. |
Recognize() |
Führt einen synchronen Spracherkennungsvorgang aus. |
Recognize(TimeSpan) |
Führt einen synchronen Spracherkennungsvorgang mit einem angegebenen ursprünglichen Ruhetimeout aus. |
RecognizeAsync() |
Führt einen einzelnen, asynchronen Spracherkennungsvorgang aus. |
RecognizeAsync(RecognizeMode) |
Führt eine oder mehrere asynchrone Spracherkennungsvorgänge aus. |
RecognizeAsyncCancel() |
Beendet die asynchrone Erkennung, ohne auf den Abschluss des aktuellen Erkennungsvorgangs zu warten. |
RecognizeAsyncStop() |
Deaktiviert die asynchrone Erkennung, nachdem der aktuelle Erkennungsvorgang abgeschlossen ist. |
RequestRecognizerUpdate() |
Fordert an, dass die Erkennung anhält, um den Zustand zu aktualisieren. |
RequestRecognizerUpdate(Object) |
Fordert an, dass die Erkennung anhält, um den Zustand zu aktualisieren und stellt ein Benutzertoken für das zugeordnete Ereignis bereit. |
RequestRecognizerUpdate(Object, TimeSpan) |
Fordert an, dass die Erkennung anhält, um den Zustand zu aktualisieren und stellt ein Offset für das zugeordnete Ereignis bereit. |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
Konfiguriert das SpeechRecognitionEngine-Objekt, um Eingaben von einem Audiostream zu empfangen. |
SetInputToDefaultAudioDevice() |
Konfiguriert das SpeechRecognitionEngine-Objekt, um Eingaben vom StandardAudiogerät zu empfangen. |
SetInputToNull() |
Deaktiviert die Eingabe zur Spracherkennung. |
SetInputToWaveFile(String) |
Konfiguriert das SpeechRecognitionEngine-Objekt, um Eingaben von einer Datei im Waveform-Audioformat (.wav) zu erhalten. |
SetInputToWaveStream(Stream) |
Konfiguriert das SpeechRecognitionEngine-Objekt, um Eingaben von einem Stream zu erhalten, der Daten im Waveform-Audioformat (.wav) enthält. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
UnloadAllGrammars() |
Entlädt alle Grammar-Objekte aus des Erkennungsmodul. |
UnloadGrammar(Grammar) |
Entlädt ein angegebenes Grammar-Objekt aus der SpeechRecognitionEngine-Instanz. |
UpdateRecognizerSetting(String, Int32) |
Aktualisiert die angegebene Einstellung für die SpeechRecognitionEngine mit dem angegebenen ganzzahligen Wert. |
UpdateRecognizerSetting(String, String) |
Aktualisiert die angegebene Spracherkennungs-Engine-Einstellung mit dem angegebenen Zeichenfolgenwert. |
Ereignisse
AudioLevelUpdated |
Wird ausgelöst, wenn das SpeechRecognitionEngine die Ebene seiner Audioeingabe meldet. |
AudioSignalProblemOccurred |
Wird ausgelöst, wenn das SpeechRecognitionEngine ein Problem im Audiosignal erkennt. |
AudioStateChanged |
Wird ausgelöst, wenn sich der Zustand im Audio, das von SpeechRecognitionEngine empfangen wird, ändert. |
EmulateRecognizeCompleted |
Wird ausgelöst, wenn das SpeechRecognitionEngine einen asynchronen Erkennungsvorgang einer emulierten Eingabe abschließt. |
LoadGrammarCompleted |
Wird ausgelöst, wenn das SpeechRecognitionEngine das asynchrone Laden eines Grammar-Objekts beendet. |
RecognizeCompleted |
Wird ausgelöst, wenn das SpeechRecognitionEngine einen asynchronen Erkennungsvorgang abschließt. |
RecognizerUpdateReached |
Wird ausgelöst, wenn ein aktives SpeechRecognitionEngine angehalten wird, um Änderungen zu übernehmen. |
SpeechDetected |
Wird ausgelöst, wenn das SpeechRecognitionEngine eine Eingabe erkennt, die es als Sprache identifizieren kann. |
SpeechHypothesized |
Wird ausgelöst, wenn das SpeechRecognitionEngine ein Wort oder Wörter erkannt hat, die möglicherweise eine Komponente von mehreren vollständigen Ausdrücken in einer Grammatik sind. |
SpeechRecognitionRejected |
Wird ausgelöst, wenn das SpeechRecognitionEngine eine Eingabe empfängt, die mit keinem seiner geladenen und aktivierten Grammar-Objekte übereinstimmt. |
SpeechRecognized |
Wird ausgelöst, wenn das SpeechRecognitionEngine eine Eingabe empfängt, die mit einem seiner geladenen und aktivierten Grammar-Objekte übereinstimmt. |