Вопрос

В .NET есть два похожих пространства имен и сборки для распознавания речи.Я пытаюсь понять различия и понять, когда уместно использовать тот или иной вариант.

Есть System.Speech.Recognition из сборки System.Speech (в System.Speech.dll).System.Speech.dll — это основная DLL в библиотеке классов .NET Framework 3.0 и более поздних версий.

Еще есть Microsoft.Speech.Recognition из сборки Microsoft.Speech (в microsoft.speech.dll).Microsoft.Speech.dll является частью SDK UCMA 2.0.

Я нахожу документы запутанными, и у меня есть следующие вопросы:

System.Speech.Recognition говорит, что это «Технология речи рабочего стола Windows». Означает ли это, что ее нельзя использовать в серверной ОС или нельзя использовать для крупномасштабных приложений?

Речевой SDK UCMA 2.0 ( http://msdn.microsoft.com/en-us/library/dd266409%28v=office.13%29.aspx ) говорит, что в качестве предварительного условия требуется Microsoft Office Communications Server 2007 R2.Однако на конференциях и собраниях мне говорили, что если мне не нужны функции OCS, такие как присутствие и рабочий процесс, я могу использовать Speech API UCMA 2.0 без OCS.Это правда?

Если я создаю простое приложение распознавания для серверного приложения (скажем, я хочу автоматически расшифровывать голосовую почту) и мне не нужны функции OCS, в чем разница между этими двумя API?

Это было полезно?

Решение

Краткий ответ заключается в том, что Microsoft.speech.escognition использует версию SAPI сервера, в то время как System.Speech.Recognition использует настольную версию SAPI.

API в основном одинаковы, но базовые двигатели разные. Как правило, серверный двигатель предназначен для приема телефонного качества для приложений команд и управления; Двигатель рабочего стола предназначен для принятия более качественного звука как для приложений для команд, так и для диктовки.

Вы можете использовать System.Speech.Seconicition на серверной ОС, но она не предназначена для масштабирования почти так же хорошо, как Microsoft.sheech.Secpognition.

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

Другие советы

я нашел Ответ Эрика очень полезно, я просто хотел добавить еще некоторые детали, которые я нашел.

System.Speech.Recognition можно использовать для программирования распознавателей рабочего стола.Распознаватели SAPI и Desktop поставляются в составе продуктов:

  • Windows XP:SAPI v5.1 и без распознавателя
  • Windows XP для планшетов:SAPI v5.1 и Распознаватель v6.1
  • Виндоус виста:SAPI v5.3 и Распознаватель v8.0
  • Windows 7:SAPI v5.4 и Распознаватель v8.0?

Серверы поставляются с SAPI, но без распознавателя:

  • Windows Сервер 2003:SAPI v5.1 и без распознавателя
  • Windows Server 2008 и 2008 R2:SAPI v5.3?и нет распознавателя

Настольные распознаватели также поставляются в таких продуктах, как Office.

  • Майкрософт Офис 2003:Распознаватель v6.1

Microsoft.Speech.Recognition можно использовать для программирования распознавателей сервера.Распознаватели серверов поставляются в составе продуктов:

  • Речевой сервер (различные версии)
  • Office Communications Server (OCS) (различные версии)
  • UCMA – управляемый API для OCS, который (я полагаю) включает в себя распространяемый распознаватель.
  • Серверная речевая платформа Microsoft – распознаватель 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 или общего доступа.Общие распознаватели полезны на рабочем столе, где голосовые команды используются для управления любыми открытыми приложениями.Распознаватель серверов может запускать только inproc.Распознаватель Inproc используется, когда одно приложение использует распознаватель или когда необходимо распознать WAV-файлы или аудиопотоки (общие распознавательные устройства не могут обрабатывать аудиофайлы, а только звук с устройств ввода).

Только распознаватели речи для настольных компьютеров включают грамматику диктовки (предоставляемая системой грамматика, используемая для диктовки произвольного текста).Класс System.Speech.Recognition.DictationGrammar не имеет дополнения в пространстве имен Microsoft.Speech.

Вы можете использовать API-интерфейсы для запроса определения установленных вами реконгайзеров.

  • Рабочий стол:System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecouncers()
  • Сервер:Microsoft.Speech.Recognition.SpeechRecognitionEngine.InstalledRecouncers()

Я обнаружил, что также могу увидеть, какие распознаватели установлены, просматривая ключи реестра:

  • Распознаватель рабочего стола:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech ecensorers okens
  • Распознаватель серверов:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v10.0 ecouncers okens

--- Обновлять ---

Как обсуждалось в Распознавание речи Microsoft – какую ссылку мне нужно добавить?, Microsoft.Speech также является API, используемым для распознавателя Kinect.Это описано в статье MSDN. http://msdn.microsoft.com/en-us/library/hh855387.aspx

Вот ссылка для библиотеки речи (речевая платформа MS Server):

Речевая платформа Microsoft Server 10.1 выпустила (SR и TTS на 26 языках)

Похоже, Microsoft написала статью, которая разбивает ситуацию в отношении различий между речевой платформой Microsoft и Windows Sapi - https://msdn.microsoft.com/en-us/library/jj127858.aspx. Анкет Разница, которую я обнаружил при преобразовании кода распознавания речи для kinect от microsoft.peech в system.peech (см. http://github.com/birbilis/hotspotizer) было то, что первые поддерживают грамматики SGRS с Tag-Format = Semantics/1,0-литерала, а последняя-нет, и вам нужно конвертировать в семантику/1.0, изменив x на out = "x"; на тегах

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top