Text to Speech (TTS) library for Python 3. Works without internet connection or delay. Supports multiple TTS engines, including Sapi5, nsss, and espeak.
Project description
Credits to nateshmbhat for creating the original library pyttsx3.
Offline Text To Speech (TTS) converter for Python
RLVoice
is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline.
Installation :
pip install rlvoice-1
If you get installation errors , make sure you first upgrade your wheel version using :
pip install --upgrade wheel
DO NOT USE
pip install rlvoice
, make sure you add the-1
next to it, or it will download the wrong package.
Linux installation requirements :
-
If you are on a linux system and if the voice output is not working , then :
Install espeak , ffmpeg and libespeak1 as shown below:
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 :
import rlvoice
engine = rlvoice.init()
engine.say("I will speak this text")
engine.runAndWait()
Single line usage with speak function with default options
import rlvoice
rlvoice.speak("I will speak this text")
Changing Voice , Rate and Volume :
import rlvoice
engine = rlvoice.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 female
engine.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()
Full documentation is located in the docs
folder.
Included TTS engines:
- sapi5
- nsss
- espeak
- coqui_ai_tts
Feel free to wrap another text-to-speech engine for use with rlvoice-1
.
Project Links :
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rlvoice-1-1.2.3.tar.gz
.
File metadata
- Download URL: rlvoice-1-1.2.3.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 019f5632061af56757128cf43927d7f5721c5e28ecc9563e92b53d9ac16de786 |
|
MD5 | 3dcb23b2fb9696b116181b89c26b6988 |
|
BLAKE2b-256 | e53d3934a0e6f8f3608c2ab62b86667c4d8876244fc1619a5cc46de262131d98 |
File details
Details for the file rlvoice_1-1.2.3-py3-none-any.whl
.
File metadata
- Download URL: rlvoice_1-1.2.3-py3-none-any.whl
- Upload date:
- Size: 28.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc48f61c056ffeaf14ed9c5ddf792ce050dda465a62f67ccdacad473d8843c4 |
|
MD5 | 5d7f133c5fb725aefcad0cf55720f600 |
|
BLAKE2b-256 | 3722901fd1fad6293b7a350e420b7cc0db413794f68758fcf9dae0b1defc40d6 |