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 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 SpeechRecognizeritensSpeechDetectedSpeechHypothesizedSpeechRecognitionRejectedSpeechRecognized.
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 EmulateRecognize os EmulateRecognizeAsync 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.
Note
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 hash predefinida. (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. |