преобразование текста в речь на python с использованием pyttsx

#python #python-3.x

#python #raspberry-pi #pyttsx

Вопрос:

Я хочу использовать свой Raspberry pi для объявления некоторого текста. я установил 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
  

Комментарии:

1. Вам также необходимо установить пакет Linux python-espeak . ( sudo apt-get install python-espeak )

2. Спасибо, сэр. теперь все работает нормально @ sebastian stigler

Ответ №1:

Это потому, что у вас не espeak установлено в вашей системе. Вот почему он выдает ошибку

ошибка libespeak.so.1: такой файл или каталог не найден.

Попробуйте установить espeak с помощью:

 sudo apt-get update amp;amp; sudo apt-get install espeak
  

Ответ №2:

Если вы используете Ubuntu или другой дистрибутив на основе Debian, используйте это

 sudo apt install libespeak1
  

Ответ №3:

Попробуйте это :: Запустить на терминале Ubuntu / Linux,

1. pip install pyttsx3 ,

2. sudo apt install libespeak1

Должно быть, вы успешно установили.

Ответ №4:

Я подключаюсь к Kali через xrdp с помощью Microsoft Remote Desktop на MACOS 10.11 El Capitain, и у меня возникли проблемы с получением pyttsx3 для получения драйвера для аудио xrdp (приемника xrdp) в python 3.11. Это был лучший ответ, который был у googs, и он решил мою проблему:

 sudo apt install libespeak1
  

Комментарии:

1. Это уже было опубликовано в двух других ответах.