Поделиться через


SpeechRecognitionEngine.Recognize Метод

Определение

Запускает синхронную операцию распознавания речи.

Перегрузки

Recognize()

Выполняет синхронную операцию распознавания речи.

Recognize(TimeSpan)

Выполняет синхронную операцию распознавания речи с указанным начальным временем ожидания бездействия.

Комментарии

Эти методы выполняют одну синхронную операцию распознавания. Распознаватель выполняет эту операцию с загруженными и включенными грамматиками распознавания речи.

Во время вызова этого метода распознаватель может вызывать следующие события:

  • SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.

  • SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.

  • SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.

Распознаватель не вызывает RecognizeCompleted событие при использовании одного из Recognize методов .

Методы Recognize возвращают RecognitionResult объект или null , если операция не выполнена успешно или распознаватель не включен.

Синхронная операция распознавания может завершиться ошибкой по следующим причинам:

  • Речь не обнаруживается до истечения времени ожидания для BabbleTimeout свойств или InitialSilenceTimeout или для initialSilenceTimeout параметра Recognize метода .

  • Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.

Чтобы изменить способ обработки времени распознавания речи или тишины в отношении распознавания, используйте BabbleTimeoutсвойства , InitialSilenceTimeout, EndSilenceTimeoutи EndSilenceTimeoutAmbiguous .

Перед выполнением SpeechRecognitionEngine распознавания должен быть загружен по крайней мере один Grammar объект . Чтобы загрузить грамматику распознавания речи, используйте LoadGrammar метод или LoadGrammarAsync .

Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .

Recognize()

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Выполняет синхронную операцию распознавания речи.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult

Возвращаемое значение

Результат распознавания для ввода или null, если операция завершилась с ошибкой или распознаватель не включен.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующая базовое распознавание речи. В этом примере создается DictationGrammar, загружается во внутрипроцессный распознаватель речи и выполняется одна операция распознавания.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  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());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Modify the initial silence time-out value.  
        recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize();  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

Комментарии

Этот метод выполняет одну операцию распознавания. Распознаватель выполняет эту операцию с загруженными и включенными грамматиками распознавания речи.

Во время вызова этого метода распознаватель может вызывать следующие события:

  • SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.

  • SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.

  • SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.

Распознаватель не вызывает RecognizeCompleted событие при использовании этого метода.

Метод Recognize() возвращает RecognitionResult объект или null , если операция не выполнена успешно.

Синхронная операция распознавания может завершиться ошибкой по следующим причинам:

  • Речь не обнаруживается до истечения времени ожидания для BabbleTimeout свойств или InitialSilenceTimeout .

  • Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.

Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .

См. также раздел

Применяется к

Recognize(TimeSpan)

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
SpeechRecognitionEngine.cs

Выполняет синхронную операцию распознавания речи с указанным начальным временем ожидания бездействия.

public:
 System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult

Параметры

initialSilenceTimeout
TimeSpan

Интервал времени, в течение которого распознаватель речи принимает входные данные, содержащие только тишину, перед завершением распознавания.

Возвращаемое значение

Результат распознавания для ввода или null, если операция завершилась с ошибкой или распознаватель не включен.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующая базовое распознавание речи. В этом примере создается DictationGrammar, загружается во внутрипроцессный распознаватель речи и выполняется одна операция распознавания.

using System;  
using System.Speech.Recognition;  

namespace SynchronousRecognition  
{  
  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());  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start synchronous speech recognition.  
        RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));  

        if (result != null)  
        {  
          Console.WriteLine("Recognized text = {0}", result.Text);  
        }  
        else  
        {  
          Console.WriteLine("No recognition result available.");  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to continue...");  
      Console.ReadKey();  
    }  
  }  
}  

Комментарии

Если модуль распознавания речи обнаруживает речь в течение интервала времени, указанного аргументом initialSilenceTimeout , Recognize(TimeSpan) выполняет одну операцию распознавания, а затем завершает работу. Параметр initialSilenceTimeout заменяет свойство распознавателя InitialSilenceTimeout .

Во время вызова этого метода распознаватель может вызывать следующие события:

  • SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.

  • SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.

  • SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.

Распознаватель не вызывает RecognizeCompleted событие при использовании этого метода.

Метод Recognize() возвращает RecognitionResult объект или null , если операция не выполнена успешно.

Синхронная операция распознавания может завершиться ошибкой по следующим причинам:

  • Речь не обнаруживается до истечения времени ожидания для BabbleTimeout параметра или initialSilenceTimeout .

  • Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.

Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .

См. также раздел

Применяется к