Skip to main content

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

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
    

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

rlvoice-1-1.1.1.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

rlvoice_1-1.1.1-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file rlvoice-1-1.1.1.tar.gz.

File metadata

  • Download URL: rlvoice-1-1.1.1.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for rlvoice-1-1.1.1.tar.gz
Algorithm Hash digest
SHA256 435cef1bf40cefdf6f2e120efe09c2761c1e3d00c5871ab7963cb29ed8f799a8
MD5 4cc982fa3ef9468bf42d6af8d35c0f1b
BLAKE2b-256 1c2ef7667f6625d295a1432217ce98194f9531415f26344ba1acff184e53fdde

See more details on using hashes here.

File details

Details for the file rlvoice_1-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: rlvoice_1-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for rlvoice_1-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 caaa8db981f407bce22c15765c7fc5b3d86869c9aa0ec2b5209c04956697dfa5
MD5 1222002926803340b0179cee4a40e0c1
BLAKE2b-256 5de448c80372272924649a09dc67789deb8930511b1327e09cbf770d1083741b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page