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-1next 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
OS X installation requirements :
-
If you are on a MacOS system and if you get an error such as
NameError: name 'objc' is not defined. Did you mean: 'object'?, then :Install the
pyobjclibrary as shown below:pip install pyobjc==9.0.1
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 :
Release files for rlvoice-1 1.3.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rlvoice-1-1.3.4.tar.gz | 27.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rlvoice_1-1.3.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.2 kB
Release files / rlvoice-1-1.3.4.tar.gz
| Download URL | rlvoice-1-1.3.4.tar.gz |
|---|---|
| Size | 27.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2749105774c4306d746979672cc74302ff1d05dd56f9874eccbe8e04dd505558
|
|
BLAKE2b-256 checksum How to use checksums |
0dbb33d32c8e3dcb750fa5b96d98a3923cfcc03b0c7ef31728387f8e3db2bbc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / rlvoice_1-1.3.4-py3-none-any.whl
| Download URL | rlvoice_1-1.3.4-py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6caf0f854b47fd68b93b84428f5d4fa3e2c8aa0c5d8e58e89c993b8f9a797e4b
|
|
BLAKE2b-256 checksum How to use checksums |
34525433f8c21660977304bc530f0bd161212c316fafda2e971e4fe19da0f19b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|