Skip to content
Discussion options

You must be logged in to vote

pyttsx3 is only a thin wrapper over desktop TTS engines — SAPI5 (Windows), NSSpeechSynthesizer (macOS), and eSpeak (Linux). Android/iOS provide none of those, so pyttsx3.iinit() falls through to the eSpeak driver and can't load libespeak. (It's a normal catchable exception, so it won't crash your app — it just can't produce speech.)

For TTS in a Flet app, use the platform's native engine instead — e.g. android.speech.tts.TextToSpeech via pyjnius on Android and AVSpeechSynthesizer via pyobjus on iOS (guide), or a dedicated Flet TTS plugin/extension (which doesnt yet exist to my knowledge).

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by ndonkoHenri
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants