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.2.3.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

rlvoice_1-1.2.3-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

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

Hashes for rlvoice-1-1.2.3.tar.gz
Algorithm Hash digest
SHA256 019f5632061af56757128cf43927d7f5721c5e28ecc9563e92b53d9ac16de786
MD5 3dcb23b2fb9696b116181b89c26b6988
BLAKE2b-256 e53d3934a0e6f8f3608c2ab62b86667c4d8876244fc1619a5cc46de262131d98

See more details on using hashes here.

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

Hashes for rlvoice_1-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cfc48f61c056ffeaf14ed9c5ddf792ce050dda465a62f67ccdacad473d8843c4
MD5 5d7f133c5fb725aefcad0cf55720f600
BLAKE2b-256 3722901fd1fad6293b7a350e420b7cc0db413794f68758fcf9dae0b1defc40d6

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