I want to use my raspberry pi to announce some text. i have installed pyttsx but not able to use it.i am using python2.7
my program:
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()
but i am getting this error:
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
pyttsx is a Python package supporting common text-to-speech engines on Mac OS X, Windows, and Linux.
Try to use pyttsx3 2.5, according the documentation: gTTS which works perfectly in python3 but it needs internet connection to work since it relies on google to get the audio data. But Pyttsx is completely offline and works seemlesly and has multiple tts-engine support.
pyttsx3 is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline and is compatible with both Python 2 and 3. An application invokes the pyttsx3. init() factory function to get a reference to a pyttsx3. Engine instance.
It's because you don't have espeak
installed on your system. That's why it is giving error
libespeak.so.1 error: no such file or directory found.
Try to install espeak using:
sudo apt-get update && sudo apt-get install espeak
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With