Python Microsoft Speech API错误:来自CmdLoadFromFile的SPERR_NO_DRIVER

时间:2010-12-20 00:08:07

标签: python api speech microsoft-speech-api

这个问题很可能没有答案,但我非常希望能就此事提供一些帮助。 我找到了一段代码,用于处理微软的Python语音API,然后去了解W3C的“Speech Recognition Grammar Specification Version 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”,它与“There is no wave driver installed.

有关。

我现在卡住了。在这种情况下,我不知道什么是波驱动器,也不知道在哪里找到它或如何调试它等等...... 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

.wav数据是最基本的声音数据 - 波形的原始采样,“声音的声音”每秒8000到44000次。

wave驱动程序可让您的计算机从麦克风获取此原始数据或将其发送给扬声器。

如果您的计算机有声卡,则应该已安装此声卡。您是在没有声音硬件的计算机上开发的吗?

编辑:在查看文档之后,我认为您错误地识别了错误; -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?

相关问题