1

我一直在 Windows 7 上使用 python 2.5.4 和 pyTTS 3.0,使用 MS Speech SDK 5.1。一年多来一直运行良好。然而,昨天,两件事几乎同时发生。MS 做了其中一项更新,导致我的系统在我不注意时重新启动。我几乎同时用完了磁盘空间。清理一些空间后,pyTTS 不再工作。我收到“SAPI”不支持的错误消息。在命令提示符下,我执行以下操作:

>python
Python 2.5.4 (r254:67916, Dec 23 2008, 16:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyTTS
>>> x = pyTTS.Create()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\Python25\Lib\site-packages\pyTTS\__init__.py", line 28, in Create
    raise ValueError('"%s" not supported' % api)
ValueError: "SAPI" not supported

我已重新安装:python 2.5.4、python windows 扩展 w32com、pyTTS 3.0、Microsoft Speech SDK 5.1、Microsoft-English-TTS-51。在每个这些之后我都重新启动了。但它仍然不起作用,我仍然收到相同的错误消息。

任何建议都非常感谢!谢谢。

4

2 回答 2

0

所以感谢贡献者的建议。但这是有效的。pyTTS 导入 win32com。win32com 在 Pythonxx/Lib/site-packages/win32com/gen_py/dicts.dat 下的文件中保留一个缓存。不知何故,该文件 dicts.dat 已损坏。不知何故,当重新安装 win32com 时,该文件并没有被吹走。可能是因为在安装过程中它被运行在后台某处的 python 抓取了。我没有停下来进一步调查。无论如何,当正确删除并重新安装 win32com 时,pyTTS 恢复工作。--

于 2012-09-14T05:15:59.523 回答
0

python pyTTS 模块仅使用 Microsoft SAPI COM 对象,如果这些对象不再注册,则模块会以您看到的方式失败。

重新安装Microsoft Speech SDK 应该会为您解决此问题。

于 2012-09-13T14:51:25.110 回答