pyttsx3 is an offline text-to-speech library for Python that wraps native speech engines instead of calling cloud APIs. It is designed to work entirely without an internet connection, making it suitable for local automation, kiosks, accessibility tools, and embedded applications. On Windows it uses SAPI5, on Linux it typically uses eSpeak or eSpeak-NG, and on macOS it can use NSSpeechSynthesizer or AVSpeechSynthesizer, giving it broad cross-platform compatibility. The library exposes a simple but flexible API for controlling voice selection, speaking rate, volume, and other synthesis parameters from Python code. It supports both a high-level speak convenience function and a lower-level engine object with event hooks, queuing, and saving output to audio files. The repository includes examples and documentation that show how to adjust properties dynamically, persist synthesized output, and integrate pyttsx3 into GUIs or background services.
Features
- Fully offline TTS using native engines like SAPI5, NSSpeechSynthesizer, AVSpeech, and eSpeak
- Simple Python API with both one-line speak calls and configurable engine objects
- Control over voice selection, speaking rate, and volume at runtime
- Ability to save synthesized speech directly to audio files (for example MP3)
- Cross-platform support for Windows, macOS, and Linux with engine-specific drivers
- Actively maintained open-source project under MPL-2.0 with docs and examples