https://github.com/thevickypedia/py3-tts
Offline Text To Speech library for python
https://github.com/thevickypedia/py3-tts
py3-tts pytts pyttsx3 text-to-speech
Last synced: 6 months ago
JSON representation
Offline Text To Speech library for python
- Host: GitHub
- URL: https://github.com/thevickypedia/py3-tts
- Owner: thevickypedia
- License: mpl-2.0
- Created: 2023-09-07T02:19:47.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-05T09:47:02.000Z (about 1 year ago)
- Last Synced: 2025-04-10T06:53:44.647Z (6 months ago)
- Topics: py3-tts, pytts, pyttsx3, text-to-speech
- Language: Python
- Homepage: https://py3-tts.vigneshrao.com/
- Size: 455 KB
- Stars: 29
- Watchers: 1
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: docs/support/index.html
Awesome Lists containing this project
README
![]()
Offline Text To Speech (TTS) converter for Python
[](https://pepy.tech/badge/py3-tts)
[](https://pepy.tech/badge/py3-tts/month)[](https://github.com/thevickypedia/py3-tts)
[](https://github.com/thevickypedia/py3-tts)[](https://pypi.org/project/py3-tts/)
[](https://github.com/thevickypedia/py3-tts)[](https://github.com/thevickypedia/py3-tts/actions/workflows/pythonpublish.yml)
[](https://github.com/thevickypedia/py3-tts/actions/workflows/pages/pages-build-deployment)[](https://github.com/thevickypedia)
[](https://github.com/nateshmbhat)`py3-tts` (originally [`pyttsx3`](https://github.com/nateshmbhat/pyttsx3)) is a text-to-speech conversion library in Python. Unlike alternative libraries, **it works offline**.
## Installation
```shell
pip install py3-tts
```> If you get installation errors, make sure you first upgrade your wheel version using
```shell
pip install --upgrade wheel
```### Linux installation requirements
+ If you are on a linux system and if the voice output is not working,
Install `espeak`, `ffmpeg` and `libespeak1` as shown below
```shell
sudo apt update && sudo apt install espeak ffmpeg libespeak1
```## Features
- ✨Fully **OFFLINE** text to speech conversion
- 🎈 Choose among different voices installed in your system
- 🎛 Control speed/rate of speech
- 🎚 Tweak Volume
- 📀 Save the speech audio as a file
- ❤️ Simple, powerful, & intuitive API## Usage
```python
import pyttsx3engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()
```**Single line usage with speak function with default options**
```python
import pyttsx3pyttsx3.speak("I will speak this text")
```**Changing Voice, Rate and Volume**
```python
import pyttsx3engine = pyttsx3.init() # object creation
""" RATE"""
rate = engine.getProperty('rate') # getting details of current speaking rate
print(rate) # printing current voice rate
engine.setProperty('rate', 125) # setting up new voice rate"""VOLUME"""
volume = engine.getProperty('volume') # getting to know current volume level (min=0 and max=1)
print(volume) # printing current volume level
engine.setProperty('volume', 1.0) # setting up volume level between 0 and 1"""VOICE"""
voices = engine.getProperty('voices') # getting details of current voice
# engine.setProperty('voice', voices[0].id) #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id) # changing index, changes voices. 1 for femaleengine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()```
#### Included TTS engines
* sapi5
* nsss
* espeakFeel free to wrap another text-to-speech engine for use with ``pyttsx3``.
### Project Links
* PyPI (https://pypi.org/project/py3-tts/)
* GitHub (https://github.com/thevickypedia/py3-tts)
* Full Documentation (https://py3-tts.vigneshrao.com/)### Credits
**[nateshmbhat](https://github.com/nateshmbhat)** for the original code [pyttsx3](https://pypi.org/project/pyttsx3/)