Я нашел ответ Эрика действительно полезным, я просто хотел добавить некоторые подробности, которые я нашел.
System.Speech.Recognition можно использовать для программирования распознавателей рабочего стола. Распознаватели SAPI и Desktop поставляются в составе продуктов:
- Windows XP: SAPI v5.1 и без распознавателя
- Windows XP Tablet Edition: SAPI v5.1 и Recognizer v6.1
- Windows Vista: SAPI v5.3 и Recognizer v8.0
- Windows 7: SAPI v5.4 и Recognizer v8.0?
Серверы идут с SAPI, но без распознавателя:
- Windows Server 2003: SAPI v5.1 и без распознавателя
- Windows Server 2008 и 2008 R2: SAPI v5.3? и без распознавателя
Распознаватели для настольных ПК также поставляются в офисных продуктах.
- Microsoft Office 2003: распознаватель v6.1
Microsoft.Speech.Recognition может использоваться для программирования серверных распознавателей. Распознаватели серверов поставляются в составе продуктов:
- Речевой сервер (разные версии)
- Office Communications Server (OCS) (различные версии)
- UCMA - это управляемый API для OCS, который (я считаю) включает распространяемый распознаватель
- Платформа Microsoft Server Speech Platform - распознаватель v10.2
Полный SDK для версии Microsoft Server Speech Platform 10.2 доступен по адресу http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-90a294a5c9a4 . Речевой движок можно загрузить бесплатно. Версия 11 теперь доступна по адресу http://www.microsoft.com/download/en/details.aspx?id=27226 .
Для получения информации и загрузок Microsoft Speech Platform SDK 11 см:
Распознаватели рабочего стола предназначены для запуска в процессе или совместно. Общие распознаватели полезны на рабочем столе, где голосовые команды используются для управления любыми открытыми приложениями. Распознаватели серверов могут работать только в процессе. Распознаватели Inproc используются, когда одно приложение использует распознаватель или когда необходимо распознать файлы wav или аудиопотоки (общие распознаватели не могут обрабатывать аудиофайлы, только звук с устройств ввода).
Только настольные распознаватели речи включают грамматику диктовки (грамматика, предоставляемая системой, используемая для диктовки произвольного текста). Класс System.Speech.Recognition.DictationGrammar не имеет дополнений в пространстве имен Microsoft.Speech.
Вы можете использовать API-интерфейсы, чтобы определить ваши установленные реконгайзеры.
- Рабочий стол: System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
- Сервер: Microsoft.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
Я обнаружил, что могу также увидеть, какие распознаватели установлены, посмотрев на разделы реестра:
- Распознаватели рабочего стола: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Recognizers \ Tokens
- Распознаватели серверов: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech Server \ v10.0 \ Recognizers \ Tokens
--- Обновить ---
Как обсуждалось в разделе «Распознавание речи Microsoft» - какую ссылку я должен добавить? , Microsoft.Speech - это также API, используемый для распознавателя Kinect. Это описано в статье MSDN http://msdn.microsoft.com/en-us/library/hh855387.aspx.