Я нашел Ответ Эрика очень полезным, я просто хотел добавить еще несколько деталей, которые я нашел.
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 или shared. Распознаватели общего доступа полезны на рабочем столе, где голосовые команды используются для управления любыми открытыми приложениями. Распознаватели серверов могут работать только inproc. Распознаватели Inproc используются, когда одно приложение использует распознаватель или когда необходимо распознать wav-файлы или аудиопотоки (общие распознаватели не могут обрабатывать аудиофайлы, только звук с устройств ввода).
Только настольные распознаватели речи включают грамматику диктовки (система предоставляет грамматику, используемую для диктовки свободного текста). Класс System.Speech.Recognition.DictationGrammar не имеет дополнения в пространстве имен Microsoft.Speech.
Вы можете использовать API-интерфейсы для запроса определения установленных реконгизаторов
- Рабочий стол: System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
- Сервер: Microsoft.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
Я обнаружил, что могу посмотреть, какие распознаватели установлены, посмотрев ключи реестра:
- Настольные распознаватели: HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Speech \ Recognizer \ Tokens
- Распознаватели серверов: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech Server \ v10.0 \ Распознаватели \ Токены
--- Обновление ---
Как обсуждено в Microsoft Speech Recognition - какую ссылку я должен добавить? , Microsoft.Speech также является API, используемым для распознавателя Kinect. Это задокументировано в статье MSDN http://msdn.microsoft.com/en-us/library/hh855387.aspx