Я нашел ответ Эрика действительно полезным, я просто хотел добавить некоторые подробности, которые я нашел.
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.
Вот ссылка на речевую библиотеку (речевая платформа MS Server):
Выпущена платформа Microsoft Server Speech Platform 10.1 (SR и TTS на 26 языках)
источник
Похоже, Microsoft написала статью, в которой разъясняются различия между Microsoft Speech Platform и Windows SAPI - https://msdn.microsoft.com/en-us/library/jj127858.aspx . Разница, которую я обнаружил при преобразовании кода распознавания речи для Kinect из Microsoft.Speech в System.Speech (см. Http://github.com/birbilis/Hotspotizer ), заключалась в том, что первый поддерживает грамматики SGRS с tag-format = semantics / 1.0- литералы, а последний - нет, и вам нужно преобразовать его в semantics / 1.0, изменив x на out = "x"; на тегах
источник