Microsoft Speech Platform - использование диктовки в грамматике SRGS

1

Я разрабатываю приложение на С#, основанное на Microsoft Speech API. Мне нужно управлять статическим и свободным текстом в моем приложении. Например, пользователь может сказать "Файл поиска [здесь бесплатная диктовка, чтобы дать пользователю имя файла]".

Основываясь на этом сообщении (Объедините диктовку и семантику свободной формы в грамматике srgs), я попытался использовать следующую грамматику:

<grammar version="1.0" xml:lang="fr-fr"  mode="voice" root="toplevel"
xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0" >
  <rule id="toplevel" scope="public">
    <ruleref uri="#tmkAction" />
    <ruleref special="GARBAGE"/>
    <ruleref uri="#tmkItemType" />
    <ruleref uri="sapi:dictation" type="application/srgs+xml"/>
    <tag>out.SpokenText=rules.latest();</tag>
  </rule>

Но, по словам валидатора, этот файл грамматики неверен ("Предупреждение: не удалось загрузить внешнюю грамматику": dictation ") и не работает.

кто-нибудь знает, как смешивать свободный текст и статические грамматики в Microsoft Speech Platform?

спасибо

Теги:
speech-recognition

1 ответ

0

Поскольку вы используете пространство имен sapi в последнем теге ruleref, сначала объявляйте его: xmlns:sapi="http://schemas.microsoft.com/Speech/2002/06/SRGSExtensions

Это может быть источником информации.

Я могу заметить, что ваша ошибка связана с grammar:dictation тогда как ваш атрибут - sapi:dictation. Я думаю, вы должны убедиться, что ваш XML файл хорошо развернут при сборке.

Вы также должны убедиться, что вы установили Speech SDK Runtime Languages из своей культуры; текст для речи один и распознавание речи. Вот

Ещё вопросы

Сообщество Overcoder
Наверх
Меню