Compartir a través de


SpeechRecognizer Clase

Definición

Proporciona acceso al servicio de reconocimiento de voz compartido disponible en el escritorio de Windows.

public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
    interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
Herencia
SpeechRecognizer
Implementaciones

Ejemplos

El ejemplo siguiente forma parte de una aplicación de consola que carga una gramática de reconocimiento de voz y muestra la entrada emulada asincrónica, los resultados de reconocimiento asociados y los eventos asociados generados por el reconocedor de voz. Si el reconocimiento de voz de Windows no se está ejecutando, al iniciar esta aplicación también se iniciará el reconocimiento de voz de Windows. Si el reconocimiento de voz de Windows está en estado inactivo , EmulateRecognizeAsync siempre devuelve 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;  
    }  
  }  
}  

Comentarios

Las aplicaciones usan el reconocedor compartido para acceder al reconocimiento de voz de Windows. Use el SpeechRecognizer objeto para agregar a la experiencia del usuario de voz de Windows.

Esta clase proporciona control sobre varios aspectos del proceso de reconocimiento de voz:

La configuración del reconocimiento de voz de Windows se administra mediante el uso del cuadro de diálogo Propiedades de voz en el Panel de control. Esta interfaz se usa para seleccionar el lenguaje y el motor de reconocimiento de voz de escritorio predeterminados, el dispositivo de entrada de audio y el comportamiento de suspensión del reconocimiento de voz. Si se cambia la configuración del reconocimiento de voz de Windows mientras se ejecuta la aplicación (por ejemplo, si el reconocimiento de voz está deshabilitado o se cambia el idioma de entrada), el cambio afecta a todos los SpeechRecognizer objetos.

Para crear un reconocedor de voz en proceso independiente del reconocimiento de voz de Windows, use la SpeechRecognitionEngine clase .

Nota:

Dispose Llame siempre antes de liberar la última referencia al reconocedor de voz. De lo contrario, los recursos que está usando no se liberarán hasta que el recolector de elementos no utilizados llame al método del Finalize objeto recognizer.

Constructores

SpeechRecognizer()

Inicializa una nueva instancia de la clase SpeechRecognizer.

Propiedades

AudioFormat

Obtiene el formato del sonido que es recibido por el reconocedor de voz.

AudioLevel

Obtiene el nivel del sonido que es recibido por el reconocedor de voz.

AudioPosition

Obtiene la ubicación actual en la secuencia audio generada por el dispositivo que está proporcionando entradas al módulo de reconocimiento de voz.

AudioState

Obtiene el estado del sonido que es recibido por el reconocedor de voz.

Enabled

Obtiene o establece un valor que indica si este objeto SpeechRecognizer está listo para procesar voz.

Grammars

Obtiene una colección de los objetos Grammar cargados en esta instancia SpeechRecognizer.

MaxAlternates

Obtiene o establece el número máximo de resultados alternativos de reconocimiento que el reconocedor compartido devuelve para cada operación de reconocimiento.

PauseRecognizerOnRecognition

Obtiene o establece un valor que indica si se detiene el reconocedor compartido en las operaciones de reconocimiento mientras una aplicación controla un evento SpeechRecognized.

RecognizerAudioPosition

Obtiene la ubicación actual del reconocedor en la entrada de audio que está procesando.

RecognizerInfo

Obtiene información sobre el reconocedor de voz compartido.

State

Obtiene el estado de un objeto SpeechRecognizer.

Métodos

Dispose()

Desecha el objeto SpeechRecognizer.

Dispose(Boolean)

Desecha el objeto SpeechRecognizer 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 compartido, 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 compartido, 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 compartido, 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 compartido, 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 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 compartido, 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 compartido, 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)
LoadGrammar(Grammar)

Carga una gramática de reconocimiento de voz.

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)
RequestRecognizerUpdate()

Solicita que el reconocedor compartido pause y actualice su estado.

RequestRecognizerUpdate(Object)

Solicita que el reconocedor compartido pause y actualice su estado y proporcione un token de usuario para el evento asociado.

RequestRecognizerUpdate(Object, TimeSpan)

Solicita que el reconocedor compartido pause y actualice su estado y proporcione un desplazamiento y un token de usuario para el evento asociado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UnloadAllGrammars()

Descarga todas las gramáticas de reconocimiento de voz del reconocedor compartido.

UnloadGrammar(Grammar)

Descarga una gramática especificada de reconocimiento de voz del reconocedor compartido.

Eventos

AudioLevelUpdated

Se produce cuando el reconocedor compartido indica el nivel de su entrada de audio.

AudioSignalProblemOccurred

Se produce cuando el reconocedor encuentra un problema en la señal audio.

AudioStateChanged

Se produce cuando cambia el estado en el sonido que recibe el reconocedor.

EmulateRecognizeCompleted

Se produce cuando el reconocedor compartido finaliza una operación asincrónica de reconocimiento para una entrada emulada.

LoadGrammarCompleted

Se produce cuando el reconocedor finaliza la carga asincrónica de una gramática de reconocimiento de voz.

RecognizerUpdateReached

Se produce cuando el reconocedor realiza una pausa para sincronizar el reconocimiento con otras operaciones.

SpeechDetected

Se produce cuando el reconocedor detecta una entrada que puede identificar como voz.

SpeechHypothesized

Se produce cuando el reconocedor ha reconocido una palabra o palabras que pueden ser un componente de varias frases completas en una gramática.

SpeechRecognitionRejected

Se produce cuando el reconocedor recibe una entrada que no coincide con ninguna de las gramáticas de reconocimiento de voz que ha cargado.

SpeechRecognized

Se produce cuando el reconocedor recibe una entrada que coincide con una de sus gramáticas de reconocimiento de voz.

StateChanged

Se produce cuando cambia el estado actual del motor de reconocimiento de voz con tecnología Windows Desktop Speech.

Se aplica a

Consulte también