rhvoice库的高级接口
rhvoice-wrapper的Python项目详细描述
rhvoice库的高级接口
从文本生成语音流而不重新初始化引擎。 这比呼叫rhvoice测试速度快,也更方便。
支持的音频格式:wav
、mp3
、opus
、flac
和pcm
(原始RhVoice输出)。
安装
pip3 install rhvoice-wrapper
此包不提供RHvoice。必须手动生成(或安装)rhvoice、语言和语音。在windows中,必须指定工作路径。
rhvoice包装箱
警告!rhvoice-wrapper-bin
在macos中不工作,请手动安装rhvoice。
您可以安装rhvoice-wrapper-bin,而不是rhvoice。这是窗户最好的方法。
如果rhvoice-wrapper-bin
已安装,则其库和数据将自动使用。
pip3 install rhvoice-wrapper-bin
文档
首先创建tts对象:
fromrhvoice_wrapperimportTTStts=TTS(threads=1)
您可以在创建或通过变量环境(上部寄存器)时设置选项。选项覆盖可变环境。要设置默认值,请使用None
:
- 线程或线程。如果等于
1
,则创建一个线程对象,如果更多线程在多处理模式下运行,则创建许多进程。默认值1
。 - force_process或processes_mode:如果
True
引擎在多处理模式下运行,如果False
在线程模式下运行。 默认值False
如果threads==1,则为True
。 threads mode and threads>;1导致分段错误或可能返回损坏的数据 - lib路径或rhvoice lib path:rhvoice库的路径。Linux中的默认值为
libRHVoice.so
,MacOS中的默认值为libRHVoice.dylib
,Windows中的默认值为RHVoice.dll
。 - data路径或rhvoicedatapath:文件夹的路径,包含声音和语言文件夹。默认值
/usr/local/share/RHVoice
。 - resources或rhvoiceresources:指向语言和语音数据的路径列表。当无法在一个地方收集所有数据时,应使用它。默认值
[]
。 - lame路径或lame path:指向
lame
的路径,可选。lame必须存在才能获得mp3
支持。默认值lame
。 - opus_path或opusencpath:指向
opusenc
的路径,可选。文件必须存在才能获得opus
支持。默认值opusenc
。 - flac_path或flacpath:指向
flac
的路径,可选。文件必须存在才能获得flac
支持。默认值flac
。 - quiet或quiet:如果
True
不输出信息。默认值False
。
使用量
启动合成生成器并获取音频数据,逐块:
defgenerator_audio(text,voice='anna',format_='wav',buff=4096,sets=None):withtts.say(text,voice,format_,buff,sets)asgen:forchunkingen:yieldchunk
或者保存到文件:
tts.to_file(filename='esperanto.ogg',text='Saluton mondo',voice='spomenka',format_='opus',sets=None)
sets
可以设置为包含合成参数的dict,如set_params。
此参数仅适用于当前短语。默认值None
。
如果buff
等于None or 0
,则对于pcm和wav块返回原样(可能稍快)。
对于其他使用默认块大小(4 kib)。
文本作为iterable对象
如果text
iterable对象,则其所有片段都将依次处理。
这是处理超大文本的好方法。
记住,生成器不能转移到另一个进程。示例:
def_text():withopen('wery_large_book.txt')asfp:text=fp.read(5000)whiletext:yieldtexttext=fp.read(5000)defgenerator_audio():withtts.say(_text())asgen:forchunkingen:yieldchunk
其他方法
设置参数
更改语音合成器设置:
tts.set_params(**kwargs)
允许:absolute_rate, relative_rate, absolute_pitch, relative_pitch, absolute_volume, relative_volume, punctuation_mode, capitals_mode
。有关详细信息,请参阅rhvoice文档。
如果更改,则返回True
,否则返回False
。
获取参数
获取语音合成器设置:
tts.get_params(param=None)
如果param是None
,则返回dict
中的所有设置,否则按名称列出的参数值为numeric
。如果未找到参数,则返回None
。
连接
连接线程或进程。加入后不要使用对象:
tts.join()
属性
TTS.formats
:支持的格式列表,pcm
和wav
始终存在。TTS.thread_count
:合成线程数。TTS.process
:如果True
,则tts以多处理模式运行。TTS.voices
:支持的声音列表。TTS.voices_info
:支持语音信息的语音词典。TTS.api_version
:支持的rhvoice库版本。如果与lib_version
不同,则可能不正确的工作。TTS.lib_version
:rhvoice库版本。TTS.cmd
:外部调用字典。
示例
要求
- 操作系统:Linux、Windows、MacOS
- rhvoice库,语言和语音
- Python3.4+