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 объектов. |