Python Microsoft Speech API Ошибка: SPERR_NO_DRIVER из CmdLoadFromFile

Этот вопрос вполне может остаться без ответа, но мне бы очень хотелось помочь в этом вопросе. Я нашел фрагмент кода для работы с Microsoft Speech API в Python от Microsoft, а затем пошел и узнал о W3C " Версия 1.0 спецификации грамматики распознавания речи".

Я свел это к следующему:

>>> import win32com.client
>>> listener = win32com.client.Dispatch("SAPI.SpSharedRecognizer")
>>> context = listener.CreateRecoContext()
>>> grammar = context.CreateGrammar()
>>> grammar.DictationSetState(0)
>>> grammar.CmdLoadFromFile("C:\\grammar.grxml")
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    grammar.CmdLoadFromFile("C:\\grammar.grxml")
  File "C:\Python26\lib\site-packages\win32com\gen_py\C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4.py", line 2372, in CmdLoadFromFile
    , LoadOption)
com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147201021), None)

Из того, что я смог обнаружить, приведенный выше код ошибки соответствует "SPERR_NO_DRIVER", что как-то связано с " Там не установлен волновой драйвер".

Я сейчас застрял. Я понятия не имею, что в этом контексте является драйвером волны, и где его найти, или как его отладить и т. Д... Есть мысли?

1 ответ

.wav-данные - это самый базовый вид звуковых данных - необработанная выборка формы волны, "насколько громкий звук" - от 8000 до 44000 раз в секунду.

Волновой драйвер позволяет вашему компьютеру получать эти необработанные данные с микрофона или передавать их на динамик.

Если на вашем компьютере установлена ​​звуковая карта, она должна быть уже установлена. Вы разрабатываете на компьютере без звукового оборудования?

Изменить: после просмотра документации, я думаю, что вы неправильно определили ошибку; -2147201021 - это 0x80045003, то есть SPERR_UNSUPPORTED_FORMAT (см. Http://msdn.microsoft.com/en-us/library/ms717306%28VS.85%29.aspx)

Вы уверены, что ваша версия Speech API поддерживает файлы grxml? Глядя на http://msdn.microsoft.com/en-us/library/ee125091%28v=VS.85%29.aspx он может потребовать либо.xml, либо.cfg - попробуйте изменить расширение с.grxml на просто.xml?

Другие вопросы по тегам