Бөлісу құралы:


SpeechRecognitionEngine.Recognize Метод

Определение

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

Перегрузки

Имя Описание
Recognize()

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

Recognize(TimeSpan)

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

Комментарии

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

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

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

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

  • SpeechRecognitionRejected или SpeechRecognized. Вызывается при завершении операции распознавания распознавателя.

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

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

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

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

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

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

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

Чтобы выполнить асинхронное распознавание, используйте один из RecognizeAsync методов.

Recognize()

Исходный код:
SpeechRecognitionEngine.cs
Исходный код:
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
Исходный код:
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 методов.

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

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