首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyttsx pyttsx.init()不工作

pyttsx pyttsx.init()不工作
EN

Stack Overflow用户
提问于 2017-07-03 16:29:20
回答 4查看 7.1K关注 0票数 4

所以我用Python制作了一个聊天机器人/虚拟助手,我正在为Python搜索一个文本到语音引擎,并找到了pyttsx。我是用pip下载的(比如:sudo pip install pyttsx )(顺便说一下,我使用的是Linux)。我正在使用Python2.7(我尝试了python3.5,给出了同样的错误)。我导入了它,它起了作用,但是当我把(正如本教程“告诉我”到https://pythonspot.com/en/speech-engines-with-python-tutorial/) engine = pyttsx.init()时。

代码如下所示:

代码语言:javascript
复制
import pyttsx
engine = pyttsx.init()
engine.say('Hello There')
engine.runAndWait()

这就是我所犯的错误:

代码语言:javascript
复制
    Traceback (most recent call last):
  File "/home/theshoutingparrot/Desktop/Programming/Python/Bots/A.I/speechtotext.py", line 2, in <module>
    engine = pyttsx.init()
  File "/usr/local/lib/python2.7/dist-packages/pyttsx/__init__.py", line 39, in init
    eng = Engine(driverName, debug)
  File "/usr/local/lib/python2.7/dist-packages/pyttsx/engine.py", line 45, in __init__
    self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
  File "/usr/local/lib/python2.7/dist-packages/pyttsx/driver.py", line 64, in __init__
    self._module = __import__(name, globals(), locals(), [driverName])
  File "/usr/local/lib/python2.7/dist-packages/pyttsx/drivers/espeak.py", line 19, in <module>
    import _espeak
  File "/usr/local/lib/python2.7/dist-packages/pyttsx/drivers/_espeak.py", line 24, in <module>
    dll = cdll.LoadLibrary('libespeak.so.1')
  File "/usr/lib/python2.7/ctypes/__init__.py", line 440, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libespeak.so.1: cannot open shared object file: No such file or directory

任何帮助都是好的,如果你能帮忙的话,或者建议提前找一个txt到语音引擎Thx。

EN

回答 4

Stack Overflow用户

发布于 2017-08-21 19:34:07

你必须安装espeak 1:

代码语言:javascript
复制
sudo apt-get install espeak
票数 4
EN

Stack Overflow用户

发布于 2017-07-21 16:36:43

我正在windows 7中工作,在执行相同的操作时,我得到了一个重要的结果& engine = pyttsx.init()以前没有工作过。我安装了pypiwin32来解决win32com.client的问题。希望它对你有用。

票数 3
EN

Stack Overflow用户

发布于 2018-11-10 09:07:03

我在Ubuntu 18.04也有过同样的经历

安装

代码语言:javascript
复制
sudo apt-get install espeak

检查一下:

代码语言:javascript
复制
espeak --stdout "this is a test" | paplay

并运行以下代码

代码语言:javascript
复制
import pyttsx
engine = pyttsx.init() 
engine.say("Hello There")
engine.runAndWait()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44890310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档