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, a inicialização desse 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 o LoadGrammar, LoadGrammarAsync, , UnloadGrammare UnloadAllGrammarsGrammars.
Para obter informações sobre as operações atuais de reconhecimento de fala, assine os eventos e os SpeechRecognizeritensSpeechDetectedSpeechRecognitionRejectedSpeechHypothesizedSpeechRecognized.
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 o AudioLevel, , AudioPosition, AudioState, Enabled, PauseRecognizerOnRecognition, RecognizerAudioPositione propriedades e State o AudioLevelUpdated, AudioSignalProblemOccurred, AudioStateChangede StateChanged eventos.
Para sincronizar as 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 o e EmulateRecognizeAsync os EmulateRecognize métodos.
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 ligue 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
| Nome | Description |
|---|---|
| SpeechRecognizer() |
Inicializa uma nova instância da classe SpeechRecognizer. |
Propriedades
| Nome | Description |
|---|---|
| AudioFormat |
Obtém o formato do áudio recebido pelo reconhecedor de fala. |
| AudioLevel |
Obtém o nível do áudio recebido pelo reconhecedor de fala. |
| AudioPosition |
Obtém o local atual no fluxo de áudio que está sendo gerado pelo dispositivo que está fornecendo entrada para o reconhecedor de fala. |
| AudioState |
Obtém o estado do áudio recebido pelo reconhecedor de fala. |
| Enabled |
Obtém ou define um valor que indica se esse SpeechRecognizer objeto está pronto para processar a fala. |
| Grammars |
Obtém uma coleção dos Grammar objetos que são carregados nesta SpeechRecognizer instância. |
| MaxAlternates |
Obtém ou define o número máximo de resultados de reconhecimento alternativos que o reconhecedor compartilhado retorna para cada operação de reconhecimento. |
| PauseRecognizerOnRecognition |
Obtém ou define um valor que indica se o reconhecedor compartilhado pausa operações de reconhecimento enquanto um aplicativo está tratando um SpeechRecognized evento. |
| RecognizerAudioPosition |
Obtém o local atual do reconhecedor na entrada de áudio que ele está processando. |
| RecognizerInfo |
Obtém informações sobre o reconhecedor de fala compartilhado. |
| State |
Obtém o estado de um objeto SpeechRecognizer. |
Métodos
| Nome | Description |
|---|---|
| Dispose() |
Descarta o SpeechRecognizer objeto. |
| Dispose(Boolean) |
Descarta o SpeechRecognizer objeto e libera os recursos usados durante a sessão. |
| EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala síncrono e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas. |
| EmulateRecognize(String, CompareOptions) |
Emula a entrada de uma frase para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala síncrono e especifica como o reconhecedor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas. |
| 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. |
| EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala assíncrono e especifica como o reconhecedor lida com a comparação Unicode entre as palavras e as gramáticas de reconhecimento de fala carregadas. |
| EmulateRecognizeAsync(String, CompareOptions) |
Emula a entrada de uma frase para o reconhecedor de fala compartilhado, usando texto em vez de áudio para reconhecimento de fala assíncrono e especifica como o reconhecedor lida com a comparação Unicode entre a frase e as gramáticas de reconhecimento de fala carregadas. |
| 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. |
| 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 Objectatual. (Herdado de Object) |
| RequestRecognizerUpdate() |
Solicita que o reconhecedor compartilhado pause e atualize seu estado. |
| 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. |
| RequestRecognizerUpdate(Object) |
Solicita que o reconhecedor compartilhado pause e atualize seu estado e forneça 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ática de reconhecimento de fala especificada do reconhecedor compartilhado. |
Eventos
| Nome | Description |
|---|---|
| AudioLevelUpdated |
Ocorre quando o reconhecedor compartilhado relata o nível de sua entrada de áudio. |
| AudioSignalProblemOccurred |
Ocorre quando o reconhecedor encontra um problema no sinal de áudio. |
| AudioStateChanged |
Ocorre quando o estado é alterado no áudio recebido pelo reconhecedor. |
| EmulateRecognizeCompleted |
Ocorre quando o reconhecedor compartilhado finaliza uma operação de reconhecimento assíncrona para entrada emulada. |
| LoadGrammarCompleted |
Ocorre quando o reconhecedor conclui 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 pode identificar como fala. |
| SpeechHypothesized |
Ocorre quando o reconhecedor reconhece uma palavra ou palavras que podem ser um componente de várias frases completas em uma gramática. |
| SpeechRecognitionRejected |
Ocorre quando o reconhecedor recebe uma entrada que não corresponde a nenhuma das gramáticas de reconhecimento de fala carregadas. |
| 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 em execução do mecanismo de reconhecimento da Tecnologia de Fala da Área de Trabalho do Windows é alterado. |