SpeechRecognitionEngine Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona los medios para obtener acceso y administrar un motor de reconocimiento de voz en curso.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- Herencia
-
SpeechRecognitionEngine
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra el reconocimiento de voz básico. Dado que en este ejemplo se usa el Multiple
modo del RecognizeAsync método, realiza el reconocimiento hasta que cierre la ventana de la consola o detenga la depuración.
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);
}
}
}
Comentarios
Puede crear una instancia de esta clase para cualquiera de los reconocedores de voz instalados. Para obtener información acerca de los reconocedores instalados, use el InstalledRecognizers método estático.
Esta clase se usa para ejecutar motores de reconocimiento de voz en proceso y proporciona control sobre diversos aspectos del reconocimiento de voz, como se indica a continuación:
Para crear un reconocedor de voz en curso, use uno de los SpeechRecognitionEngine constructores.
Para administrar las gramáticas de reconocimiento de voz, use los LoadGrammar LoadGrammarAsync métodos,, UnloadGrammar y UnloadAllGrammars , y la Grammars propiedad.
Para configurar la entrada para el reconocedor, utilice el SetInputToAudioStream método,,, SetInputToDefaultAudioDevice SetInputToNull SetInputToWaveFile o SetInputToWaveStream .
Para realizar el reconocimiento de voz, use el Recognize RecognizeAsync método o.
Para modificar el modo en que el reconocimiento controla el silencio o la entrada inesperada, utilice las BabbleTimeout InitialSilenceTimeout propiedades,, EndSilenceTimeout y EndSilenceTimeoutAmbiguous .
Para cambiar el número de alternativas que devuelve el reconocedor, utilice la MaxAlternates propiedad. El reconocedor devuelve los resultados del reconocimiento en un RecognitionResult objeto.
Para sincronizar los cambios en el reconocedor, utilice el RequestRecognizerUpdate método. El reconocedor usa más de un subproceso para realizar tareas.
Para emular la entrada al reconocedor, utilice EmulateRecognize los EmulateRecognizeAsync métodos y.
El SpeechRecognitionEngine objeto es para el uso exclusivo del proceso que creó la instancia del objeto. Por el contrario, el SpeechRecognizer comparte un único reconocedor con cualquier aplicación que desee usarlo.
Nota
Llame siempre Dispose antes de liberar la última referencia al reconocedor de voz. De lo contrario, los recursos que utiliza no se liberarán hasta que el recolector de elementos no utilizados llame al método del objeto del reconocedor Finalize
.
Constructores
SpeechRecognitionEngine() |
Inicializa una nueva instancia de la clase SpeechRecognitionEngine utilizando el reconocedor de voz predeterminado para el sistema. |
SpeechRecognitionEngine(CultureInfo) |
Inicializa una nueva instancia de la clase SpeechRecognitionEngine utilizando el reconocedor de voz predeterminado para una configuración regional especificada. |
SpeechRecognitionEngine(RecognizerInfo) |
Inicializa una nueva instancia de SpeechRecognitionEngine utilizando la información de un objeto RecognizerInfo para especificar el reconocedor que de va a utilizar. |
SpeechRecognitionEngine(String) |
Inicializa una nueva instancia de la clase SpeechRecognitionEngine con un parámetro de cadena que especifica el nombre del reconocedor que se va a utilizar. |
Propiedades
AudioFormat |
Obtiene el formato del sonido que es recibido por SpeechRecognitionEngine. |
AudioLevel |
Obtiene el nivel del sonido que es recibido por SpeechRecognitionEngine. |
AudioPosition |
Obtiene la ubicación actual en la secuencia audio generada por el dispositivo que está proporcionando entradas al módulo de SpeechRecognitionEngine. |
AudioState |
Obtiene el estado del sonido que es recibido por SpeechRecognitionEngine. |
BabbleTimeout |
Obtiene o establece el intervalo de tiempo durante el que SpeechRecognitionEngine acepta la entrada que contiene solo ruido de fondo, antes de finalizar el reconocimiento. |
EndSilenceTimeout |
Obtiene o establece el intervalo de silencio que SpeechRecognitionEngine aceptará al final de la entrada no ambigua antes de finalizar una operación de reconocimiento. |
EndSilenceTimeoutAmbiguous |
Obtiene o establece el intervalo de silencio que SpeechRecognitionEngine aceptará al final de la entrada ambigua antes de finalizar una operación de reconocimiento. |
Grammars |
Obtiene una colección de los objetos Grammar cargados en esta instancia SpeechRecognitionEngine. |
InitialSilenceTimeout |
Obtiene o establece el intervalo de tiempo durante el que SpeechRecognitionEngine acepta la entrada que contiene solo silencio, antes de finalizar el reconocimiento. |
MaxAlternates |
Obtiene o establece el número máximo de resultados alternativos de reconocimiento que el SpeechRecognitionEngine devuelve para cada operación de reconocimiento. |
RecognizerAudioPosition |
Obtiene la ubicación actual de SpeechRecognitionEngine en la entrada de audio que está procesando. |
RecognizerInfo |
Obtiene información acerca de la instancia actual de SpeechRecognitionEngine. |
Métodos
Dispose() |
Desecha el objeto SpeechRecognitionEngine. |
Dispose(Boolean) |
Desecha el objeto SpeechRecognitionEngine y libera los recursos utilizados durante la sesión. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula la entrada de palabras específicas al módulo de reconocimiento de voz, usando texto en lugar de audio para el reconocimiento de voz sincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre las palabras y las gramáticas reconocimiento de voz cargadas. |
EmulateRecognize(String) |
Emula la entrada de una frase al módulo de reconocimiento de voz, usando el texto en lugar de audio para el reconocimiento de voz sincrónico. |
EmulateRecognize(String, CompareOptions) |
Emula la entrada de una frase al módulo de reconocimiento de voz, usando texto en lugar de audio para el reconocimiento de voz sincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre la frase y las gramáticas reconocimiento de voz cargadas. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula la entrada de palabras específicas al módulo de reconocimiento de voz, usando una matriz de objetos RecognizedWordUnit en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre las palabras y las gramáticas reconocimiento de voz cargadas. |
EmulateRecognizeAsync(String) |
Emula la entrada de una frase al módulo de reconocimiento de voz, usando el texto en lugar de audio para el reconocimiento de voz asincrónico. |
EmulateRecognizeAsync(String, CompareOptions) |
Emula la entrada de una frase al módulo de reconocimiento de voz, usando texto en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre la frase y las gramáticas reconocimiento de voz cargadas. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InstalledRecognizers() |
Devuelve información para todos los reconocedores de voz instalados en el sistema actual. |
LoadGrammar(Grammar) |
De forma sincrónica carga un objeto Grammar. |
LoadGrammarAsync(Grammar) |
De forma asincrónica carga una gramática de reconocimiento de voz. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
QueryRecognizerSetting(String) |
Devuelve los valores de configuración para el reconocedor. |
Recognize() |
Realiza una operación de reconocimiento de voz sincrónica. |
Recognize(TimeSpan) |
Realiza una operación de reconocimiento de voz sincrónica con un tiempo de espera de silencio inicial especificado. |
RecognizeAsync() |
Realiza una operación de reconocimiento de voz asincrónica única. |
RecognizeAsync(RecognizeMode) |
Realiza una o más operaciones de reconocimiento de voz asincrónicas. |
RecognizeAsyncCancel() |
Finaliza el reconocimiento asincrónico sin esperar a que la operación actual de reconocimiento se complete. |
RecognizeAsyncStop() |
Detiene el reconocimiento asincrónico después de que se complete la operación actual de reconocimiento. |
RequestRecognizerUpdate() |
Solicita que el reconocedor pause para actualizar su estado. |
RequestRecognizerUpdate(Object) |
Solicita que el reconocedor pause para actualizar su estado y proporcione un token de usuario para el evento asociado. |
RequestRecognizerUpdate(Object, TimeSpan) |
Solicita que el reconocedor pause para actualizar su estado y proporcione un desplazamiento y un token de usuario para el evento asociado. |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
Configura el objeto SpeechRecognitionEngine para recibir entradas de una secuencia de audio. |
SetInputToDefaultAudioDevice() |
Configura el objeto SpeechRecognitionEngine para recibir entradas del dispositivo de audio predeterminado. |
SetInputToNull() |
Deshabilita la entrada al módulo de reconocimiento de voz. |
SetInputToWaveFile(String) |
Configura el objeto SpeechRecognitionEngine para recibir entradas de un archivo de formato de audio de forma de onda (.wav). |
SetInputToWaveStream(Stream) |
Configura el objeto SpeechRecognitionEngine para recibir entradas de un flujo que contiene datos de formato de audio de forma de onda (.wav). |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
UnloadAllGrammars() |
Descarga todos los objetos Grammar del reconocedor. |
UnloadGrammar(Grammar) |
Descarga un objeto Grammar especificado de la instancia de SpeechRecognitionEngine. |
UpdateRecognizerSetting(String, Int32) |
Actualiza el valor especificado para SpeechRecognitionEngine con el valor entero especificado. |
UpdateRecognizerSetting(String, String) |
Actualiza el valor especificado del motor de reconocimiento de voz con el valor de cadena especificado. |
Eventos
AudioLevelUpdated |
Se genera cuando SpeechRecognitionEngine indica el nivel de su entrada de audio. |
AudioSignalProblemOccurred |
Se genera cuando SpeechRecognitionEngine detecta un problema en la señal de audio. |
AudioStateChanged |
Se genera cuando cambia el estado en el sonido que recibe el SpeechRecognitionEngine. |
EmulateRecognizeCompleted |
Se genera cuando SpeechRecognitionEngine concluye una operación de reconocimiento asincrónica de entrada emulada. |
LoadGrammarCompleted |
Se genera cuando SpeechRecognitionEngine finaliza la carga asincrónica de un objeto Grammar. |
RecognizeCompleted |
Se genera cuando SpeechRecognitionEngine concluye una operación de reconocimiento asincrónica. |
RecognizerUpdateReached |
Se genera cuando un objeto SpeechRecognitionEngine en ejecución hace una pausa para aceptar modificaciones. |
SpeechDetected |
Se genera cuando SpeechRecognitionEngine detecta una entrada que puede identificar como voz. |
SpeechHypothesized |
Se genera cuando SpeechRecognitionEngine ha reconocido una palabra o palabras que pueden ser un componente de varias frases completas en una gramática. |
SpeechRecognitionRejected |
Se genera cuando SpeechRecognitionEngine recibe una entrada que no coincide con ninguno de los objetos Grammar cargados y habilitados. |
SpeechRecognized |
Se genera cuando SpeechRecognitionEngine recibe una entrada que coincide con cualquiera de los objetos Grammar cargados y habilitados. |