Skip to main content

Downloads PyPI version

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
    

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 pyobjc library 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)

Source distribution for rlvoice-1 1.3.4
File Size Uploaded
rlvoice-1-1.3.4.tar.gz 27.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rlvoice-1 1.3.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.3.4 This release

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.1.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page