High-level interface for RHVoice library
Project description
High-level interface for RHVoice library
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.
rhvoice-wrapper-bin
Instead of RHVoice you may install rhvoice-wrapper-bin. This is best way for Windows.
If the rhvoice-wrapper-bin is installed, its libraries and data will be used automatically.
pip install rhvoice-wrapper-bin
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. Default1. - force_process: If
True, force using multiprocessing mode. DefaultFalse. - lib_path or RHVOICELIBPATH: Path to RHVoice library. Default
libRHVoice.soin Linux andRHVoice.dllin 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 formp3support. Defaultlame. - opus_path or OPUSENCPATH: Path to
opusenc, optional. File must be present foropussupport. Defaultopusenc.
Usage
Start synthesis generator and get audio data, chunk by chunk:
def generator_audio(text, voice, audio_format, sets):
with tts.say(text, voice, audio_format, sets=sets) 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', sets=None)
sets may set as dict containing synthesis parameters as in set_params.
This parameters only work for current phrase. Default None.
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.
Return True if change, else False.
get_params
Get voice synthesizer settings:
tts.get_params(param=None)
If param is None return all settings in dict, else parameter value by name as numeric. If parameter not found return None.
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,wavalways present.TTS.thread_count: Number of synthesis threads.TTS.process: IfTrue, 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 fromlib_version, may incorrect work.TTS.lib_version: RHVoice library version.TTS.cmd: Dictionary of external calls, as it is.
Examples
Requirements
- OS Linux or Windows
- RHvoice library, languages and voices
- Python 3.4 +
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rhvoice-wrapper-0.3.0.tar.gz.
File metadata
- Download URL: rhvoice-wrapper-0.3.0.tar.gz
- Upload date:
- Size: 24.0 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.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99c1549eec77cf10e145b90439715e94a8df72549a1418cd79c382ca1743fe62
|
|
| MD5 |
8498c03180811da4b05d733f1e0e768f
|
|
| BLAKE2b-256 |
daf6f677745fddc6e1bc4e4cd3df4e2e1234fd7ee420abd82745e1ea67bc7759
|
File details
Details for the file rhvoice_wrapper-0.3.0-py3-none-any.whl.
File metadata
- Download URL: rhvoice_wrapper-0.3.0-py3-none-any.whl
- Upload date:
- Size: 23.6 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.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbdc358b93c517bbe5bb51be7f01fbfd3c4841dbf75fe884f18256ebf1301384
|
|
| MD5 |
ff14ee28772ed1ea67e1b24a1d260970
|
|
| BLAKE2b-256 |
1d4135cd1b1b62f6dd47746589010dd792b84fcd8ad2585f5d47b4a79aef86ae
|