SpeechRecognitionEngine Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece os meios para aceder e gerir um motor de reconhecimento de fala em processo.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- Herança
-
SpeechRecognitionEngine
- Implementações
Exemplos
O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. Como este exemplo usa o Multiple modo do RecognizeAsync método, ele realiza o reconhecimento até fechares a janela da consola ou parares de depurar.
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);
}
}
}
Observações
Pode criar uma instância desta classe para qualquer um dos reconhecedores de fala instalados. Para obter informações sobre quais os reconhecedores instalados, use o método estático InstalledRecognizers .
Esta classe destina-se a executar motores de reconhecimento de fala em processo e fornece controlo sobre vários aspetos do reconhecimento de fala, da seguinte forma:
Para criar um reconhecor de fala em processo, use um dos SpeechRecognitionEngine construtores.
Para gerir gramáticas de reconhecimento de fala, use os LoadGrammarmétodos , LoadGrammarAsync, UnloadGrammar, UnloadAllGrammars e a Grammars propriedade.
Para configurar a entrada do reconhecedor, use o SetInputToAudioStream, SetInputToDefaultAudioDevice, SetInputToNull, SetInputToWaveFile, ou SetInputToWaveStream método.
Para realizar reconhecimento de voz, utilize o Recognize método ou.RecognizeAsync
Para modificar a forma como o reconhecimento lida com o silêncio ou entradas inesperadas, use as BabbleTimeoutpropriedades , InitialSilenceTimeout, EndSilenceTimeout, e EndSilenceTimeoutAmbiguous .
Para alterar o número de alternativas que o reconhecedor devolve, use a MaxAlternates propriedade. O reconhecedor devolve resultados de reconhecimento num RecognitionResult objeto.
Para sincronizar alterações ao reconhecedor, use o RequestRecognizerUpdate método. O recognizer utiliza mais do que um thread para executar tarefas.
Para emular a entrada para o reconhecedor, use os EmulateRecognize métodos e.EmulateRecognizeAsync
O SpeechRecognitionEngine objeto destina-se exclusivamente ao processo que o instanciou. Em contraste, partilham SpeechRecognizer um único reconhecedor com qualquer aplicação que queira usá-lo.
Note
Ligue Dispose sempre antes de divulgar a última referência ao reconhecedor de fala. Caso contrário, os recursos que está a usar não serão libertados até que o coletor de lixo chame o método do Finalize objeto reconhecedor.
Construtores
| Name | Description |
|---|---|
| SpeechRecognitionEngine() |
Inicializa uma nova instância da SpeechRecognitionEngine classe usando o reconhecimento de fala padrão do sistema. |
| SpeechRecognitionEngine(CultureInfo) |
Inicializa uma nova instância da SpeechRecognitionEngine classe usando o reconhecimento de fala por defeito para uma localização especificada. |
| SpeechRecognitionEngine(RecognizerInfo) |
Inicializa uma nova instância de usar SpeechRecognitionEngine a informação num RecognizerInfo objeto para especificar o reconhecedor a usar. |
| SpeechRecognitionEngine(String) |
Inicializa uma nova instância da SpeechRecognitionEngine classe com um parâmetro de string que especifica o nome do reconhecor a usar. |
Propriedades
| Name | Description |
|---|---|
| AudioFormat |
Obtém o formato do áudio recebido pelo SpeechRecognitionEngine. |
| AudioLevel |
Obtém o nível do áudio recebido pelo SpeechRecognitionEngine. |
| AudioPosition |
Obtém a localização atual no fluxo de áudio gerado pelo dispositivo que fornece entrada para o SpeechRecognitionEngine. |
| AudioState |
Obtém o estado do áudio recebido pelo SpeechRecognitionEngine. |
| BabbleTimeout |
Obtém ou define o intervalo de tempo durante o qual uma SpeechRecognitionEngine aceita entrada contendo apenas ruído de fundo, antes de finalizar o reconhecimento. |
| EndSilenceTimeout |
Obtém ou define o intervalo de silêncio que aceitará SpeechRecognitionEngine no final da entrada inequívoca antes de finalizar uma operação de reconhecimento. |
| EndSilenceTimeoutAmbiguous |
Obtém ou define o intervalo de silêncio que aceitarão SpeechRecognitionEngine no final da entrada ambígua antes de finalizar uma operação de reconhecimento. |
| Grammars |
Obtém uma coleção dos Grammar objetos que estão carregados nesta SpeechRecognitionEngine instância. |
| InitialSilenceTimeout |
Obtém ou define o intervalo de tempo durante o qual um SpeechRecognitionEngine aceita uma entrada contendo apenas silêncio antes de finalizar o reconhecimento. |
| MaxAlternates |
Obtém ou define o número máximo de resultados alternativos de reconhecimento que os resultados retornam SpeechRecognitionEngine para cada operação de reconhecimento. |
| RecognizerAudioPosition |
Obtém a localização atual da SpeechRecognitionEngine entrada de áudio que está a processar. |
| RecognizerInfo |
Obtém informação sobre a instância atual de SpeechRecognitionEngine. |
Métodos
| Name | Description |
|---|---|
| Dispose() |
Descarta o SpeechRecognitionEngine objeto. |
| Dispose(Boolean) |
Elimina o SpeechRecognitionEngine objeto e liberta os recursos usados durante a sessão. |
| EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
Emula a entrada de palavras específicas para o reconhecedor de voz, 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 voz, usando texto em vez de áudio para reconhecimento de voz síncrono, e especifica como o reconhecor 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 voz, 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 voz, usando um array de RecognizedWordUnit objetos em vez de áudio para reconhecimento de fala assíncrono, e especifica como o reconhecor 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 voz, usando texto em vez de áudio para reconhecimento de fala assíncrono, e especifica como o reconhecor 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 voz, 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 função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InstalledRecognizers() |
Devolve a informação de todos os reconhecedores de voz instalados no sistema atual. |
| LoadGrammar(Grammar) |
Carrega um Grammar objeto de forma síncrona. |
| LoadGrammarAsync(Grammar) |
Carrega assíncronamente uma gramática de reconhecimento de voz. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| QueryRecognizerSetting(String) |
Devolve os valores das definições do reconhecedor. |
| Recognize() |
Realiza uma operação síncrona de reconhecimento de voz. |
| Recognize(TimeSpan) |
Realiza uma operação síncrona de reconhecimento de voz com um período inicial de tempo de silêncio especificado. |
| RecognizeAsync() |
Realiza uma única operação de reconhecimento de voz assíncrona. |
| RecognizeAsync(RecognizeMode) |
Realiza uma ou mais operações de reconhecimento de fala assíncronas. |
| RecognizeAsyncCancel() |
Termina o reconhecimento assíncrono sem esperar que a operação de reconhecimento atual seja concluída. |
| RecognizeAsyncStop() |
Para o reconhecimento assíncrono após a conclusão da operação de reconhecimento atual. |
| RequestRecognizerUpdate() |
Solicita que o reconhecedor faça uma pausa para atualizar o seu estado. |
| RequestRecognizerUpdate(Object, TimeSpan) |
Solicita que o reconhecedor faça uma pausa para atualizar o seu estado e fornece um offset e um token de utilizador para o evento associado. |
| RequestRecognizerUpdate(Object) |
Solicita que o reconhecedor faça uma pausa para atualizar o seu estado e forneça um token de utilizador para o evento associado. |
| SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
Configura o SpeechRecognitionEngine objeto para receber entrada de um fluxo de áudio. |
| SetInputToDefaultAudioDevice() |
Configura o SpeechRecognitionEngine objeto para receber entrada do dispositivo de áudio predefinido. |
| SetInputToNull() |
Desativa a entrada do reconhecedor de voz. |
| SetInputToWaveFile(String) |
Configura o SpeechRecognitionEngine objeto para receber entrada de um ficheiro de formato áudio de forma de onda (.wav). |
| SetInputToWaveStream(Stream) |
Configura o SpeechRecognitionEngine objeto para receber entrada de um fluxo que contenha dados do formato de áudio da forma de onda (.wav). |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UnloadAllGrammars() |
Descarrega todos Grammar os objetos do reconhecedor. |
| UnloadGrammar(Grammar) |
Descarrega um objeto especificado Grammar da SpeechRecognitionEngine instância. |
| UpdateRecognizerSetting(String, Int32) |
Atualiza a definição especificada para o SpeechRecognitionEngine com o valor inteiro especificado. |
| UpdateRecognizerSetting(String, String) |
Atualiza a definição especificada do motor de reconhecimento de voz com o valor da cadeia especificado. |
evento
| Name | Description |
|---|---|
| AudioLevelUpdated |
Eleva-se quando o SpeechRecognitionEngine relatório sobre o nível da sua entrada de áudio. |
| AudioSignalProblemOccurred |
Levanta-se quando detetam SpeechRecognitionEngine um problema no sinal de áudio. |
| AudioStateChanged |
Elevada quando o estado muda no áudio recebido pelo SpeechRecognitionEngine. |
| EmulateRecognizeCompleted |
Elevado quando finaliza SpeechRecognitionEngine uma operação de reconhecimento assíncrona da entrada emulada. |
| LoadGrammarCompleted |
Elevado quando termina SpeechRecognitionEngine o carregamento assíncrono de um Grammar objeto. |
| RecognizeCompleted |
Levantado quando finaliza SpeechRecognitionEngine uma operação de reconhecimento assíncrono. |
| RecognizerUpdateReached |
Eleva-se quando um running SpeechRecognitionEngine stop para aceitar modificações. |
| SpeechDetected |
Eleva-se quando deteta SpeechRecognitionEngine um input que consegue identificar como fala. |
| SpeechHypothesized |
Eleva-se quando reconheceu SpeechRecognitionEngine uma palavra ou palavras que podem ser componentes de múltiplas frases completas numa gramática. |
| SpeechRecognitionRejected |
É ativado quando recebe SpeechRecognitionEngine uma entrada que não corresponde a nenhum dos objetos carregados e ativados Grammar . |
| SpeechRecognized |
É ativado quando recebe SpeechRecognitionEngine uma entrada que corresponde a qualquer um dos seus objetos carregados e ativados Grammar . |