再目的化エンジンなしでRhvoiceライブラリを介してテキストから音声ストリームを生成します。 rhvoiceテストを呼び出すよりも非常に高速で便利です。
サポートされているオーディオ形式: wav 、 mp3 、 opus 、 flac 、 pcm (RAW RHVOICE出力)。
pip3 install rhvoice-wrapper
このパッケージは、Rhvoice自体を提供しません。手動でrhvoice、言語、声をビルド(またはインストール)する必要があります。 Windowsでは、作業のパスを指定する必要があります。
警告! rhvoice-wrapper-bin macosで動作しない、rhvoiceを手動でインストールします。
rhvoiceの代わりに、rhvoice-wrapper-binをインストールできます。これは、Windowsに最適な方法です。 rhvoice-wrapper-binがインストールされている場合、そのライブラリとデータは自動的に使用されます。
pip3 install rhvoice-wrapper[rhvoice]
最初にTTSオブジェクトを作成します:
from rhvoice_wrapper import TTS
tts = TTS ( threads = 1 )さまざまな環境を作成するとき、またはさまざまな環境(上位登録簿)を介してオプションを設定できます。オプション可変環境をオーバーライドします。デフォルト値を設定するには、使用None :
1に等しい場合、1つのスレッドオブジェクトを作成し、マルチプロセッシングモードでさらに実行し、多くのプロセスを作成します。デフォルト1 。Trueエンジンがマルチプロセッシングモードで実行されている場合、スレッドモードでFalse場合。 default False場合は、threads == 1、else True場合。スレッドモードとスレッド> 1がセグメンテーション障害を引き起こすか、破損したデータを返す可能性がありますlibRHVoice.so 、 libRHVoice.dylib in macos、 RHVoice.dll in windows。/usr/local/share/RHVoice 。/usr/local/etc/RHVoice 。[] 。lameへの道、オプション。 mp3サポートのためにラメが存在する必要があります。デフォルトのlame 。opusencへのパス、オプション。 opusサポートのためにファイルが存在する必要があります。デフォルトのopusenc 。flacへのパス、オプション。 flacサポートのためにファイルが存在する必要があります。デフォルトのflac 。True場合は情報出力をしないでください。デフォルトのFalse 。pcmの場合say 、長さwav含む完全なデータのみを処理および送信します。デフォルトはTrue 。合成ジェネレーターを起動し、オーディオデータを取得し、チャンクごとにチャンクします。
def generator_audio ( text , voice = 'anna' , format_ = 'wav' , buff = 4096 , sets = None ):
with tts . say ( text , voice , format_ , buff , sets ) as gen :
for chunk in gen :
yield chunkまたは、すべてのオーディオデータを1つの大きなチャンクで取得します。
data = tts . get ( 'Hello world!' , format_ = 'wav' )
print ( 'data size: ' , len ( data ), ' bytes' )
subprocess . check_output ([ 'aplay' , '-q' ], input = data )または、ファイルに保存するだけです。
tts . to_file ( filename = 'esperanto.ogg' , text = 'Saluton mondo' , voice = 'spomenka' , format_ = 'opus' , sets = None ) format_は出力オーディオ形式です。 tts.formatsに存在する必要があります。
voiceはスピーカーの声です。 tts.voice_profilesに存在する必要があります。 voice='Voice', sets=None Equal voice=None, sets={'voice_profile': 'Voice'} 、 voiceよりも優先されます。
sets 、SET_PARAMSのように合成パラメーターを含むDICTとして設定できます。このパラメーターは、現在のフレーズに対してのみ機能します。デフォルトNone 。
buff None or 0 、PCMとWAVチャンクの場合はそのまま戻ります(おそらく少し速く)。他の人には、デフォルトのチャンクサイズ(4 KIB)を使用しました。
text反復オブジェクトの場合、そのすべてのフラグメントが連続して処理されます。これは、信じられないほど大きなテキストを処理するための良い方法です。発電機を別のプロセスに転送することはできないことを忘れないでください。例:
def _text ():
with open ( 'wery_large_book.txt' ) as fp :
text = fp . read ( 5000 )
while text :
yield text
text = fp . read ( 5000 )
def generator_audio ():
with tts . say ( _text ()) as gen :
for chunk in gen :
yield chunk音声シンセサイザーの設定を変更する:
tts . set_params ( ** kwargs )許可: voice_profile 、 absolute_rate 、 absolute_pitch 、 absolute_volume 、 relative_rate 、 relative_pitch 、 relative_volume 、 punctuation_mode 、 punctuation_list 、 capitals_mode 、 flags 。詳細については、Rhvoiceドキュメントを参照してください。
変更の場合はTrueを返しますFalse
音声シンセサイザーの設定を取得:
tts . get_params ( param = None ) PARAMがNone場合、すべての設定をdictで返します。パラメーターが見つからない場合は、 Noneを返します。
スレッドまたはプロセスに参加します。結合後にオブジェクトを使用しないでください:
tts . join ()TTS.formats :サポートされている形式のリスト、 pcmおよびwav常に存在します。TTS.thread_count :合成スレッドの数。TTS.process : True場合、MultiProcessingモードで実行されているTTS。TTS.voices :サポートされている声のリスト。TTS.voice_profiles :サポートされている音声プロファイルのリスト。TTS.voices_info :声情報を含むサポートされている声の辞書。TTS.api_version :サポートされているrhvoiceライブラリバージョン。TTS.lib_version :rhvoiceライブラリバージョン。 rhvoice_wrapper.rhvoice_proxy.SUPPORTでない場合、正しく作業を行う可能性があります。TTS.cmd :外部呼び出しの辞書。