Описание
Я столкнулся с ошибкой при попытке использовать pyttsx3 для преобразования текста в речь в Ubuntu. Я уже установил необходимые зависимости, такие как ffmpeg и libespeak. Ошибка указывает на ReferenceError: объект со слабой ссылкой больше не существует.Код
Вот код, который я использую:Код: Выделить всё
import pyttsx3
engine = pyttsx3.init()
def text_to_speech(text, gender='male', audio_file="generated_audio.mp3"):
voices = engine.getProperty('voices')
if gender == 'female':
engine.setProperty('voice', voices[1].id) # Female voice
else:
engine.setProperty('voice', voices[0].id) # Male voice
engine.setProperty('rate', 120)
engine.setProperty('volume', 1.0)
engine.save_to_file(text, audio_file)
engine.runAndWait()
text_to_speech("Hello, this is a test.")
Ошибка
Вот сообщение об ошибке:Код: Выделить всё
Exception ignored on calling ctypes callback function:
Traceback (most recent call last):
File "/home/apollo/.local/lib/python3.10/site-packages/pyttsx3/drivers/espeak.py", line 180, in _onSynth
self._proxy.notify('finished-utterance', completed=True)
ReferenceError: weakly-referenced object no longer exists
Окружающая среда
- ОС: Ubuntu
- Версия Python: 3.10
- Версия pyttsx3: 2.90
Шаги по воспроизведению
- Установить pyttsx3 с помощью pip install pyttsx3
- Выполнить предоставленный фрагмент кода.
Что я пробовал
- Обеспечение ffmpeg< /code> и libespeak установлены
- Переустановка pyttsx3
- Поиск похожих проблем, но ни одно из решений не помогло
Дополнительный контекст
Я подозреваю, что могут быть некоторые проблемы совместимости с версиями библиотеки или с тем, как я инициализация движка pyttsx3.Есть ли у кого-нибудь представление о том, как решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/789 ... -on-ubuntu