Skip to main content

High-level interface for RHVoice library

Project description

High-level interface for RHVoice library

PyPI version Python versions PyPI - Format Build Status

Generate speech stream from text without re-initializing engine. This very fast and more convenient than call RHVoice-test. Off the shelf supports wav, mp3 and opus.

Install

pip install rhvoice-wrapper

This package NOT provide RHvoice. You must be build (or install) RHVoice, languages and voices manually. In Windows you must specify the paths for work.

Documentation

First create TTS object:

from rhvoice_wrapper import TTS

tts = TTS(threads=1)

You may set options when creating or through variable environments (UPPER REGISTER). Options override variable environments. To set the default value use None:

  • threads or THREADED. If equal to 1, created one thread object, if more running in multiprocessing mode and create a lot of processes. Threading mode is not race condition safe, multiprocessing mode is safe. Default 1.
  • force_process: If True, force using multiprocessing mode. Default False.
  • lib_path or RHVOICELIBPATH: Path to RHVoice library. Default libRHVoice.so in Linux and RHVoice.dll in Windows.
  • data_path or RHVOICEDATAPATH: Path to folder, containing voices and languages folders. Default /usr/local/share/RHVoice.
  • resources or RHVOICERESOURCES: List of paths, optional. I do not know what is this. Default: ['/usr/local/etc/RHVoice/dicts/Russian/'].
  • lame_path or LAMEPATH: Path to lame, optional. Lame must be present for mp3 support. Default lame.
  • opus_path or OPUSENCPATH: Path to opusenc, optional. File must be present for opus support. Default opusenc.

Usage

Start synthesis generator and get audio data, chunk by chunk:

def generator_audio(text, voice, audio_format):
    with tts.say(text, voice, audio_format) as gen:
        for chunk in gen:
            yield chunk

Or just save to file:

tts.to_file(filename='esperanto.ogg', text='Saluton mondo', voice='spomenka', format_='opus')

Other methods

set_params

Changes voice synthesizer settings:

tts.set_params(**kwargs)

Allow: absolute_rate, relative_rate, absolute_pitch, relative_pitch, absolute_volume, relative_volume, punctuation_mode, capitals_mode. See RHVoice documentation for details.

benchmarks

Synthetic benchmark. First return string 'start...', then results every 30 seconds. Works only in multiprocessing mode. Example:

from rhvoice_wrapper import TTS

tts = TTS(threads=24)
end_in = 5
for result in tts.benchmarks():
    print(result)
    end_in -= 1
    if not end_in:
        break
tts.join()

join

Join thread or processes. Don't use object after join:

tts.join()

Properties

  • TTS.formats: List of supported formats, wav always present.
  • TTS.thread_count: Number of synthesis threads.
  • TTS.process: If True, TTS running in multiprocessing mode.
  • TTS.voices: List of supported voices.
  • TTS.voices_info: Dictionary of supported voices with voices information.
  • TTS.api_version: Supported RHVoice library version. If different from lib_version, may incorrect work.
  • TTS.lib_version: RHVoice library version.
  • TTS.cmd: Dictionary of external calls, as it is.

Examples

Requirements

  • RHvoice library, languages and voices.
  • Python 3+.

Tested on python 3.6 in Linux and Windows 10.

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

rhvoice-wrapper-0.2.1.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rhvoice_wrapper-0.2.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file rhvoice-wrapper-0.2.1.tar.gz.

File metadata

  • Download URL: rhvoice-wrapper-0.2.1.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3

File hashes

Hashes for rhvoice-wrapper-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3d4daaff06dc78e7fb92a9e3e9fa5f6b6db79a4dc43be10b4369a37ff462ba6e
MD5 8d06d36ebdfc79759305434f83030cf0
BLAKE2b-256 882967600f77fe3db77a3f96426aaf34c6f9dc3887955f56f78ce0bee3033ab2

See more details on using hashes here.

File details

Details for the file rhvoice_wrapper-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: rhvoice_wrapper-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3

File hashes

Hashes for rhvoice_wrapper-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0e863362ac522635b06ad4bdc4079e5e4c9e6ac63fab075820ae02991e92e44
MD5 ffa3fec0e706ff1e096cad0c5b2f3f6d
BLAKE2b-256 5b3a6b2ab68ddffa38ac35e1dbc9cb9f7ed578d681bef1c6eb48aa89cb277968

See more details on using hashes here.

Supported by

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