Инициализация кода Pyttsx3 изменяется с windows на Linux, поскольку голосовой идентификатор будет отличаться.
Попробуйте настроить этот фрагмент, это прекрасно работает с Linux Ubuntu:
import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('volume', 0.5)
voices = engine.getProperty('voices')
for voice in voices:
engine.setProperty('voice', voice.id)
# engine.say('The quick brown fox jumped over the lazy dog.')
engine.say("Hello, I am robot")
engine.runAndWait()
Вы можете выбрать голосовой идентификатор из доступного списка и использовать ID-константу для инициализации движка.
Поскольку вы не упомянули журнал ошибок, это также может быть вызвано тем, что у вас не установлен espeak в вашей системе
вы можете попробовать это, чтобы исправить ошибку espeak:
sudo apt-get update && apt-get upgrade -y && apt-get install espeak
Если проблема не устранена, добавьте журнал ошибок, чтобы мы могли помочь вам в дальнейшем.