SpeechRecognitionEngine Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce i mezzi per accedere e gestire un motore di riconoscimento vocale in-process.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- Ereditarietà
-
SpeechRecognitionEngine
- Implementazioni
Esempio
Nell'esempio seguente viene illustrata parte di un'applicazione console che illustra il riconoscimento vocale di base. Poiché questo esempio usa la modalità del RecognizeAsync metodo, esegue il Multiple
riconoscimento fino a chiudere la finestra della console o arrestare il debug.
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);
}
}
}
Commenti
È possibile creare un'istanza di questa classe per uno dei riconoscimento vocale installati. Per ottenere informazioni su quali riconoscimento sono installati, usare il metodo statico InstalledRecognizers .
Questa classe è per l'esecuzione di motori di riconoscimento vocale in-process e fornisce il controllo su vari aspetti del riconoscimento vocale, come indicato di seguito:
Per creare un riconoscimento vocale in-process, usare uno dei SpeechRecognitionEngine costruttori.
Per gestire le grammatica di riconoscimento vocale, usare i LoadGrammarmetodi , LoadGrammarAsyncUnloadGrammar, e UnloadAllGrammars la Grammars proprietà .
Per configurare l'input nel riconoscimento, usare il SetInputToAudioStreammetodo , , SetInputToWaveFileSetInputToDefaultAudioDeviceSetInputToNull, o SetInputToWaveStream .
Per eseguire il riconoscimento vocale, usare il Recognize metodo o RecognizeAsync .
Per modificare il modo in cui il riconoscimento gestisce il silenzio o l'input imprevisto, usare le BabbleTimeoutproprietà , InitialSilenceTimeoutEndSilenceTimeout, e EndSilenceTimeoutAmbiguous .
Per modificare il numero di alternative restituite dal riconoscimento, usare la MaxAlternates proprietà . Il riconoscimento restituisce i risultati del riconoscimento in un RecognitionResult oggetto.
Per sincronizzare le modifiche apportate al riconoscimento, usare il RequestRecognizerUpdate metodo . Il riconoscimento usa più thread per eseguire attività.
Per emulare l'input al riconoscimento, usare i EmulateRecognize metodi e EmulateRecognizeAsync .
L'oggetto SpeechRecognitionEngine è per l'uso esclusivo del processo che ha creato un'istanza dell'oggetto. Al contrario, la SpeechRecognizer condivisione di un singolo riconoscimento con qualsiasi applicazione che vuole usarla.
Nota
Chiamare Dispose sempre prima di rilasciare l'ultimo riferimento al riconoscimento vocale. In caso contrario, le risorse usate non verranno liberate finché il Garbage Collector chiama il metodo dell'oggetto Finalize
riconoscimento.
Costruttori
SpeechRecognitionEngine() |
Inizializza una nuova istanza della classe SpeechRecognitionEngine utilizzando il riconoscimento vocale predefinito per il sistema. |
SpeechRecognitionEngine(CultureInfo) |
Inizializza una nuova istanza della classe SpeechRecognitionEngine utilizzando il riconoscimento vocale predefinito per le impostazioni locali specificate. |
SpeechRecognitionEngine(RecognizerInfo) |
Inizializza una nuova istanza dell'oggetto SpeechRecognitionEngine utilizzando le informazioni disponibili in un oggetto RecognizerInfo per specificare il riconoscimento da utilizzare. |
SpeechRecognitionEngine(String) |
Inizializza una nuova istanza della classe SpeechRecognitionEngine con una parametro di stringa che specifica il nome del riconoscimento da utilizzare. |
Proprietà
AudioFormat |
Ottiene il formato dell'audio ricevuto da SpeechRecognitionEngine. |
AudioLevel |
Ottiene il livello dell'audio ricevuto da SpeechRecognitionEngine. |
AudioPosition |
Ottiene la posizione corrente nel flusso audio generato dal dispositivo che fornisce l'input a SpeechRecognitionEngine. |
AudioState |
Ottiene lo stato dell'audio ricevuto da SpeechRecognitionEngine. |
BabbleTimeout |
Ottiene o imposta l'intervallo di tempo durante il quale SpeechRecognitionEngine accetta input contenente solo il rumore di fondo, prima di completare il riconoscimento. |
EndSilenceTimeout |
Ottiene o imposta l'intervallo di silenzio che SpeechRecognitionEngine accetterà alla fine dell'input non ambiguo prima di completare un'operazione di riconoscimento. |
EndSilenceTimeoutAmbiguous |
Ottiene o imposta l'intervallo di silenzio che SpeechRecognitionEngine accetterà alla fine dell'input ambiguo prima di completare un'operazione di riconoscimento. |
Grammars |
Ottiene una raccolta di oggetti Grammar caricati in questa istanza di SpeechRecognitionEngine. |
InitialSilenceTimeout |
Ottiene o imposta l'intervallo di tempo durante il quale SpeechRecognitionEngine accetta input contenente solo silenzio, prima di completare il riconoscimento. |
MaxAlternates |
Ottiene o imposta il numero massimo di risultati del riconoscimento alternativi che SpeechRecognitionEngine restituisce per ogni operazione di riconoscimento. |
RecognizerAudioPosition |
Ottiene la posizione corrente di SpeechRecognitionEngine nell'input audio in fase di elaborazione. |
RecognizerInfo |
Ottiene informazioni sull'istanza corrente di SpeechRecognitionEngine. |
Metodi
Dispose() |
Elimina l'oggetto SpeechRecognitionEngine. |
Dispose(Boolean) |
Elimina l'oggetto SpeechRecognitionEngine e rilascia le risorse usate durante la sessione. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula l'input di parole specifiche al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognize(String) |
Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono. |
EmulateRecognize(String, CompareOptions) |
Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula l'input di parole specifiche al riconoscimento vocale, utilizzando una matrice di oggetti RecognizedWordUnit anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate. |
EmulateRecognizeAsync(String) |
Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono. |
EmulateRecognizeAsync(String, CompareOptions) |
Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InstalledRecognizers() |
Restituisce informazioni per tutti sistemi di riconoscimento vocale installati nel sistema corrente. |
LoadGrammar(Grammar) |
Carica un oggetto Grammar in modo sincrono. |
LoadGrammarAsync(Grammar) |
Carica in modo asincrono una grammatica di riconoscimento vocale. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
QueryRecognizerSetting(String) |
Restituisce i valori delle impostazioni per il riconoscimento. |
Recognize() |
Effettua un'operazione sincrona di riconoscimento vocale. |
Recognize(TimeSpan) |
Effettua un'operazione sincrona di riconoscimento vocale con un periodo di timeout di inattività iniziale specificato. |
RecognizeAsync() |
Effettua un'unica operazione asincrona di riconoscimento vocale. |
RecognizeAsync(RecognizeMode) |
Effettua una o più operazioni asincrone di riconoscimento vocale. |
RecognizeAsyncCancel() |
Termina il riconoscimento asincrono senza attendere il completamento dell'operazione di riconoscimento corrente. |
RecognizeAsyncStop() |
Arresta il riconoscimento asincrono dopo che l'operazione di riconoscimento corrente è stata completata. |
RequestRecognizerUpdate() |
Richiede la sospensione del riconoscimento per aggiornarne lo stato. |
RequestRecognizerUpdate(Object) |
Richiede la sospensione del riconoscimento per aggiornarne lo stato e fornire un token utente per l'evento associato. |
RequestRecognizerUpdate(Object, TimeSpan) |
Richiede la sospensione del riconoscimento per aggiornarne lo stato e fornire un offset e un token utente per l'evento associato. |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
Configura l'oggetto SpeechRecognitionEngine per ricevere l'input da un flusso audio. |
SetInputToDefaultAudioDevice() |
Configura l'oggetto SpeechRecognitionEngine per ricevere l'input dal dispositivo audio predefinito. |
SetInputToNull() |
Disabilita l'input del riconoscimento vocale. |
SetInputToWaveFile(String) |
Configura l'oggetto SpeechRecognitionEngine per ricevere l'input da un file in formato audio Waveform (.wav). |
SetInputToWaveStream(Stream) |
Configura l'oggetto SpeechRecognitionEngine per ricevere l'input da un flusso che contiene i dati in formato audio Waveform (.wav). |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
UnloadAllGrammars() |
Scarica tutti gli oggetti Grammar dal riconoscimento. |
UnloadGrammar(Grammar) |
Scarica un oggetto Grammar specificato dall'istanza SpeechRecognitionEngine. |
UpdateRecognizerSetting(String, Int32) |
Aggiorna l'impostazione specificata per SpeechRecognitionEngine con il valore Integer specificato. |
UpdateRecognizerSetting(String, String) |
Aggiorna l'impostazione specificata del motore di riconoscimento vocale con il valore di stringa specificato. |
Eventi
AudioLevelUpdated |
Generato quando SpeechRecognitionEngine segnala il livello del relativo input audio. |
AudioSignalProblemOccurred |
Generato quando SpeechRecognitionEngine rileva un problema nel segnale audio. |
AudioStateChanged |
Generato in seguito alla modifica dello stato nell'audio ricevuto da SpeechRecognitionEngine. |
EmulateRecognizeCompleted |
Generato quando SpeechRecognitionEngine completa un'operazione di riconoscimento asincrona di input emulato. |
LoadGrammarCompleted |
Generato quando SpeechRecognitionEngine termina il caricamento asincrono di un oggetto Grammar. |
RecognizeCompleted |
Generato quando SpeechRecognitionEngine completa un'operazione di riconoscimento asincrona. |
RecognizerUpdateReached |
Generato quando un oggetto SpeechRecognitionEngine in esecuzione viene sospeso per accettare le modifiche. |
SpeechDetected |
Generato quando SpeechRecognitionEngine rileva un input identificabile come funzione vocale. |
SpeechHypothesized |
Generato quando SpeechRecognitionEngine ha riconosciuto una o più parole che possono essere componenti di più frasi complete in una grammatica. |
SpeechRecognitionRejected |
Generato quando SpeechRecognitionEngine riceve input che non corrisponde ad alcun oggetto Grammar caricato e abilitato. |
SpeechRecognized |
Generato quando SpeechRecognitionEngine riceve input che corrisponde a un oggetto Grammar caricato e abilitato. |