[英]python text to speech using pyttsx
我想用我的树莓派宣布一些文字。 我已经安装了 pyttsx 但无法使用它。我正在使用 python2.7
我的程序:
import pyttsx
engine= pyttsx.init()
engine.setProperty('rate',70)
voices=engine.getProperty('voices')
for voice in voices:
print "Using voice:", repr(voice)
engine.setProperty('voice',voice.id)
engine.say("Hello Hello Hello")
engine.runAndWait()
但我收到此错误:
Traceback (most recent call last):
File "/home/pi/announce.py", line 2, in <module>
engine= pyttsx.init()
File "/usr/local/lib/python2.7/dist-packages/pyttsx-1.1- py2.7.egg/pyttsx/__init__.py", line 39, in init
eng = Engine(driverName, debug)
File "/usr/local/lib/python2.7/dist-packages/pyttsx-1.1- py2.7.egg/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-1.1-p y2.7.egg/pyttsx/driver.py", line 64, in __init__
self._module = __import__(name, globals(), locals(), [driverName])
File "/usr/local/lib/python2.7/dist-packages/pyttsx-1.1-py2.7.egg/pyttsx/drivers/espeak.py", line 19, in <module>
import _espeak
File "/usr/local/lib/python2.7/dist-packages/pyttsx-1.1-py2.7.egg/pyttsx/drivers/_espeak.py", line 24, in <module>
dll = cdll.LoadLibrary('libespeak.so.1')
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libespeak.so.1: cannot open shared object file: No such file or directory
这是因为你的系统上没有安装espeak
。 这就是为什么它给出错误
libespeak.so.1 错误:未找到此类文件或目录。
尝试使用以下命令安装 espeak:
sudo apt-get update && sudo apt-get install espeak
如果您使用的是 Ubuntu,请使用此
sudo apt install libespeak1
试试这个:在 Ubuntu/Linux 终端上运行,
1. pip install pyttsx3
,
2. sudo apt install libespeak1
您必须已成功安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.