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


SpeechRecognitionEngine Класс

Определение

Предоставляет средства для доступа к подсистеме распознавания речи в процессе и управления ими.

public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
    interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
Наследование
SpeechRecognitionEngine
Реализации

Примеры

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

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);
    }
  }
}

Комментарии

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

Этот класс предназначен для запуска обработчиков распознавания речи в процессе и обеспечивает контроль над различными аспектами распознавания речи следующим образом:

  • Чтобы создать распознаватель речи в процессе, используйте один из SpeechRecognitionEngine конструкторов.

  • Для управления грамматиками распознавания речи используйте LoadGrammarLoadGrammarAsyncметоды и UnloadGrammarметоды, а UnloadAllGrammars также Grammars свойство.

  • Чтобы настроить входные данные для распознавателя, используйте SetInputToAudioStreamметод , SetInputToDefaultAudioDevice, SetInputToNullSetInputToWaveFileили SetInputToWaveStream метод.

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

  • Чтобы изменить, как распознавание обрабатывает молчание или непредвиденные входные данные, используйте BabbleTimeoutInitialSilenceTimeoutсвойства , EndSilenceTimeoutи EndSilenceTimeoutAmbiguous свойства.

  • Чтобы изменить число альтернативных возвращаемых распознавателя, используйте MaxAlternates это свойство. Распознаватель возвращает результаты распознавания объекта RecognitionResult .

  • Чтобы синхронизировать изменения распознавателя, используйте RequestRecognizerUpdate этот метод. Распознаватель использует несколько потоков для выполнения задач.

  • Чтобы эмулировать входные данные распознавателя, используйте EmulateRecognize методы и EmulateRecognizeAsync методы.

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

Замечание

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

Конструкторы

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

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для системы.

SpeechRecognitionEngine(CultureInfo)

Инициализирует новый экземпляр SpeechRecognitionEngine класса с помощью распознавателя речи по умолчанию для указанного языкового стандарта.

SpeechRecognitionEngine(RecognizerInfo)

Инициализирует новый экземпляр с помощью сведений SpeechRecognitionEngine в объекте RecognizerInfo , чтобы указать распознаватель для использования.

SpeechRecognitionEngine(String)

Инициализирует новый экземпляр SpeechRecognitionEngine класса строковым параметром, указывающим имя используемого распознавателя.

Свойства

Имя Описание
AudioFormat

Получает формат полученного аудио SpeechRecognitionEngine.

AudioLevel

Возвращает уровень полученного SpeechRecognitionEngineаудио.

AudioPosition

Возвращает текущее расположение в звуковом потоке, создаваемом устройством, которое предоставляет входные данные SpeechRecognitionEngineдля объекта.

AudioState

Возвращает состояние полученного аудио SpeechRecognitionEngine.

BabbleTimeout

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

EndSilenceTimeout

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

EndSilenceTimeoutAmbiguous

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

Grammars

Возвращает коллекцию объектов, загруженных Grammar в этом SpeechRecognitionEngine экземпляре.

InitialSilenceTimeout

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

MaxAlternates

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

RecognizerAudioPosition

Возвращает текущее расположение входного SpeechRecognitionEngine звука, которое он обрабатывает.

RecognizerInfo

Возвращает сведения о текущем экземпляре SpeechRecognitionEngine.

Методы

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

SpeechRecognitionEngine Удаляет объект.

Dispose(Boolean)

SpeechRecognitionEngine Удаляет объект и освобождает ресурсы, используемые во время сеанса.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognize(String, CompareOptions)

Эмулирует входные данные фразы распознаватель речи, используя текст вместо звука для синхронного распознавания речи и указывает, как распознаватель обрабатывает сравнение Юникода между фразой и загруженными грамматиками распознавания речи.

EmulateRecognize(String)

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Эмулирует входные данные определенных RecognizedWordUnit слов в распознаватель речи, используя массив объектов вместо звука для асинхронного распознавания речи и указывает, как распознаватель обрабатывает сравнение Юникода между словами и загруженными грамматиками распознавания речи.

EmulateRecognizeAsync(String, CompareOptions)

Эмулирует входные данные фразы распознаватель речи, используя текст вместо звука для асинхронного распознавания речи, и указывает, как распознаватель обрабатывает сравнение Юникода между фразой и загруженными грамматиками распознавания речи.

EmulateRecognizeAsync(String)

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

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InstalledRecognizers()

Возвращает сведения для всех установленных распознавителей речи в текущей системе.

LoadGrammar(Grammar)

Синхронно загружает Grammar объект.

LoadGrammarAsync(Grammar)

Асинхронно загружает грамматику распознавания речи.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
QueryRecognizerSetting(String)

Возвращает значения параметров для распознавателя.

Recognize()

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

Recognize(TimeSpan)

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

RecognizeAsync()

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

RecognizeAsync(RecognizeMode)

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

RecognizeAsyncCancel()

Завершает асинхронное распознавание без ожидания завершения текущей операции распознавания.

RecognizeAsyncStop()

Останавливает асинхронное распознавание после завершения текущей операции распознавания.

RequestRecognizerUpdate()

Запрашивает, чтобы распознаватель приостанавливал обновление состояния.

RequestRecognizerUpdate(Object, TimeSpan)

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

RequestRecognizerUpdate(Object)

Запрашивает, что распознаватель приостанавливает обновление состояния и предоставляет маркер пользователя для связанного события.

SetInputToAudioStream(Stream, SpeechAudioFormatInfo)

Настраивает SpeechRecognitionEngine объект для получения входных данных из звукового потока.

SetInputToDefaultAudioDevice()

Настраивает SpeechRecognitionEngine объект для получения входных данных с звукового устройства по умолчанию.

SetInputToNull()

Отключает входные данные распознавателя речи.

SetInputToWaveFile(String)

Настраивает SpeechRecognitionEngine объект для получения входных данных из файла аудиоформата Waveform (.wav).

SetInputToWaveStream(Stream)

Настраивает SpeechRecognitionEngine объект для получения входных данных из потока, содержащего данные формата звука Waveform (.wav).

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnloadAllGrammars()

Выгружает все Grammar объекты из распознавателя.

UnloadGrammar(Grammar)

Выгружает указанный Grammar объект из экземпляра SpeechRecognitionEngine .

UpdateRecognizerSetting(String, Int32)

Обновляет указанный параметр для указанного SpeechRecognitionEngine целочисленного значения.

UpdateRecognizerSetting(String, String)

Обновляет указанный параметр обработчика распознавания речи с указанным строковым значением.

События

Имя Описание
AudioLevelUpdated

Вызывается, когда сообщает SpeechRecognitionEngine уровень входного звука.

AudioSignalProblemOccurred

Вызывается при SpeechRecognitionEngine обнаружении проблемы в звуковом сигнале.

AudioStateChanged

Вызывается при изменении состояния звука, полученного методом SpeechRecognitionEngine.

EmulateRecognizeCompleted

Вызывается при SpeechRecognitionEngine завершении асинхронной операции распознавания эмулированных входных данных.

LoadGrammarCompleted

Вызывается после SpeechRecognitionEngine завершения асинхронной загрузки Grammar объекта.

RecognizeCompleted

Вызывается при SpeechRecognitionEngine завершении асинхронной операции распознавания.

RecognizerUpdateReached

Вызывается при приостановке выполнения SpeechRecognitionEngine для принятия изменений.

SpeechDetected

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

SpeechHypothesized

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

SpeechRecognitionRejected

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

SpeechRecognized

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

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

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