Credits to nateshmbhat for creating the original library pyttsx3.
RLVoice
is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline.
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.
-
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
- ✨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
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.
- sapi5
- nsss
- espeak
- coqui_ai_tts
Feel free to wrap another text-to-speech engine for use with rlvoice-1
.