Грамматики SAPI 5.4 совместимы с SAPI 5.1?

Я написал приложение на C # для win 7, в котором использовались .NET 4.0 и SAPI 5.4, используя SharedRecognizer в System.Speech. В этой среде все работает, но не в Windows XP.

В Win XP (с установленным SAPI 5.1) мне не нравятся XML-файлы грамматики, которые я использую.

Программа вылетает при попытке прочитать файл грамматики со следующей ошибкой:

This semantic interpretation type 'tag-format' is not supported with this 
version of the speech platform.

После некоторого поиска я нашел кого-то, у кого была очень похожая проблема на этом форуме но, похоже, проблема не была решена.

У кого-нибудь есть идеи? Нужно ли мне иметь две версии файлов грамматики, одну для XP и одну для Win Vista / 7? Если да, то знает ли кто-нибудь параллельное объяснение того, что отличается, чтобы я мог придумать простой способ перевода с одного на другой? И если у меня есть файлы грамматики в разных форматах, могу ли я действительно загрузить старую версию в SharedRecognizer, который, как я предполагаю, является классом SAPI 5.3-4? Или мне придется использовать COM-вызовы библиотеки SAPI 5.1 вместо пространства имен System.Speech?

Большое спасибо!!


person Evan    schedule 27.08.2010    source источник


Ответы (1)


Хорошо, я думаю, что понял это. Проблема в том, что SAPI 5.3 и выше поддерживают SRGS (спецификацию грамматики распознавания речи), которую я использовал. Однако более ранняя версия SAPI не поддерживает этот формат и, следовательно, ошибки, которые я получал.

Я думаю, что вместо этого можно было бы использовать текстовые грамматики, и сейчас я пытаюсь понять, как это сделать. См. этот вопрос для получения дополнительной информации!

person Evan    schedule 27.08.2010