SpeechRecognizer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece acesso ao serviço de reconhecimento de fala compartilhado disponível na área de trabalho do Windows.
public ref class SpeechRecognizer : IDisposable
public class SpeechRecognizer : IDisposable
type SpeechRecognizer = class
interface IDisposable
Public Class SpeechRecognizer
Implements IDisposable
- Herança
-
SpeechRecognizer
- Implementações
Exemplos
O exemplo a seguir faz parte de um aplicativo de console que carrega uma gramática de reconhecimento de fala e demonstra a entrada emulada assíncrona, os resultados de reconhecimento associados e os eventos associados gerados pelo reconhecedor de fala. Se o Reconhecimento de Fala do Windows não estiver em execução, iniciar este aplicativo também iniciará o Reconhecimento de Fala do Windows. Se o Reconhecimento de Fala do Windows estiver no estado De suspensão , EmulateRecognizeAsync sempre retornará nulo.
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;
}
}
}
Comentários
Os aplicativos usam o reconhecedor compartilhado para acessar o Reconhecimento de Fala do Windows. Use o SpeechRecognizer objeto para adicionar à experiência do usuário de fala do Windows.
Essa classe fornece controle sobre vários aspectos do processo de reconhecimento de fala:
Para gerenciar gramáticas de reconhecimento de fala, use , LoadGrammarLoadGrammarAsync, UnloadGrammar, UnloadAllGrammarse Grammars.
Para obter informações sobre as operações atuais de reconhecimento de fala, assine os SpeechRecognizereventos , SpeechHypothesizedSpeechDetected, SpeechRecognitionRejectede SpeechRecognized .
Para exibir ou modificar o número de resultados alternativos que o reconhecedor retorna, use a MaxAlternates propriedade . O reconhecedor retorna resultados de reconhecimento em um RecognitionResult objeto .
Para acessar ou monitorar o estado do reconhecedor compartilhado, use as AudioLevelpropriedades , AudioPosition, AudioState, Enabled, PauseRecognizerOnRecognition, RecognizerAudioPositione State e os AudioLevelUpdatedeventos , AudioSignalProblemOccurred, AudioStateChangede StateChanged .
Para sincronizar alterações no reconhecedor, use o RequestRecognizerUpdate método . O reconhecedor compartilhado usa mais de um thread para executar tarefas.
Para emular a entrada para o reconhecedor compartilhado, use os EmulateRecognize métodos e EmulateRecognizeAsync .
A configuração do Reconhecimento de Fala do Windows é gerenciada pelo uso da caixa de diálogo Propriedades de Fala no Painel de Controle. Essa interface é usada para selecionar o mecanismo e a linguagem de reconhecimento de fala da área de trabalho padrão, o dispositivo de entrada de áudio e o comportamento de suspensão do reconhecimento de fala. Se a configuração do Reconhecimento de Fala do Windows for alterada enquanto o aplicativo estiver em execução, (por exemplo, se o reconhecimento de fala estiver desabilitado ou o idioma de entrada for alterado), a alteração afetará todos os SpeechRecognizer objetos.
Para criar um reconhecedor de fala em processo que seja independente do Reconhecimento de Fala do Windows, use a SpeechRecognitionEngine classe .
Observação
Sempre chame Dispose antes de lançar sua última referência ao reconhecedor de fala. Caso contrário, os recursos que ele está usando não serão liberados até que o coletor de lixo chame o método do objeto reconhecedor Finalize
.
Construtores
SpeechRecognizer() |
Inicializa uma nova instância da classe SpeechRecognizer. |
Propriedades
AudioFormat |
Obtém o formato do áudio que está sendo recebido pelo reconhecedor de fala. |
AudioLevel |
Obtém o nível do áudio que está sendo recebido pelo reconhecedor de fala. |
AudioPosition |
Obtém o local atual no stream de áudio que está sendo gerado pelo dispositivo que está fornecendo a entrada para o reconhecedor de fala. |
AudioState |
Obtém o estado do áudio que está sendo recebido pelo reconhecedor de fala. |
Enabled |
Obtém ou define um valor que indica se esse objeto SpeechRecognizer está pronto para processar a fala. |
Grammars |
Obtém uma coleção de objetos Grammar carregados nessa instância SpeechRecognizer. |
MaxAlternates |
Obtém ou define o número máximo de resultados alternativos de reconhecimento que o reconhecedor compartilhado retorna para cada operação de reconhecimento. |
PauseRecognizerOnRecognition |
Obtém ou define um valor que indica se o reconhecedor compartilhado pausará as operações de reconhecimento enquanto um aplicativo está manipulando um evento SpeechRecognized. |
RecognizerAudioPosition |
Obtém o local atual do reconhecedor na entrada de áudio que está sendo processada. |
RecognizerInfo |
Obtém informações sobre o reconhecedor de fala compartilhado. |
State |
Obtém o estado de um objeto SpeechRecognizer. |
Métodos
Dispose() |
Descarta o objeto SpeechRecognizer. |
Dispose(Boolean) |
Descarta o objeto SpeechRecognizer e libera os recursos usados durante a sessão. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala síncrono e especifica como o reconhecedor trata a comparação Unicode entre as palavras e as gramáticas do reconhecimento de fala carregado. |
EmulateRecognize(String) |
Emula a entrada de uma frase para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala síncrono. |
EmulateRecognize(String, CompareOptions) |
Emula a entrada de uma frase no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala síncrono e especifica como o reconhecedor trata a comparação Unicode entre a frase e as gramáticas do reconhecimento de fala carregado. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala assíncrono e especifica como o reconhecedor trata a comparação Unicode entre as palavras e as gramáticas do reconhecimento de fala carregado. |
EmulateRecognizeAsync(String) |
Emula a entrada de uma frase para o reconhecedor de fala compartilhado usando texto em vez de áudio para reconhecimento de fala assíncrono. |
EmulateRecognizeAsync(String, CompareOptions) |
Emula a entrada de uma frase no reconhecedor de fala compartilhado usando texto em vez de áudio para o reconhecimento de fala assíncrono e especifica como o reconhecedor trata a comparação Unicode entre a frase e as gramáticas do reconhecimento de fala carregado. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
LoadGrammar(Grammar) |
Carrega uma gramática de reconhecimento de fala. |
LoadGrammarAsync(Grammar) |
Carrega de forma assíncrona uma gramática de reconhecimento de fala. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
RequestRecognizerUpdate() |
Solicita que o reconhecedor compartilhado pause e atualize seu estado. |
RequestRecognizerUpdate(Object) |
Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça um token de usuário para o evento associado. |
RequestRecognizerUpdate(Object, TimeSpan) |
Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça um deslocamento e um token de usuário para o evento associado. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
UnloadAllGrammars() |
Descarrega todas as gramáticas de reconhecimento de fala do reconhecedor compartilhado. |
UnloadGrammar(Grammar) |
Descarrega uma gramáticas de reconhecimento de fala especificada do reconhecedor compartilhado. |
Eventos
AudioLevelUpdated |
Ocorre quando o reconhecedor compartilhado informa o nível da entrada de áudio. |
AudioSignalProblemOccurred |
Ocorre quando o reconhecedor encontra um problema no sinal de áudio. |
AudioStateChanged |
Ocorre quando o estado é alterado no áudio que está sendo recebido pelo reconhecedor. |
EmulateRecognizeCompleted |
Ocorre quando o reconhecedor compartilhado finaliza uma operação de reconhecimento assíncrona para a entrada emulada. |
LoadGrammarCompleted |
Ocorre quando o reconhecedor finaliza o carregamento assíncrono de uma gramática de reconhecimento de fala. |
RecognizerUpdateReached |
Ocorre quando o reconhecedor pausa para sincronizar o reconhecimento e outras operações. |
SpeechDetected |
Ocorre quando o reconhecedor detecta a entrada que ele pode identificar como fala. |
SpeechHypothesized |
Ocorre quando o reconhecedor reconheceu palavras que podem ser um componente de várias frases completas em uma gramática. |
SpeechRecognitionRejected |
Ocorre quando o reconhecedor recebe entrada que correspondem a nenhuma gramáticas de reconhecimento de fala carregada. |
SpeechRecognized |
Ocorre quando o reconhecedor recebe uma entrada que corresponde a uma de suas gramáticas de reconhecimento de fala. |
StateChanged |
Ocorre quando o estado de execução do mecanismo de reconhecimento Tecnologia de Fala do Windows Desktop é alterado. |