テキスト読み上げ Python* デモ¶
テキスト読み上げデモでは、ForwardTacotron および WaveRNN モデル、または変更された ForwardTacotron および MelGAN モデルを実行して、指定する入力テキストファイルの音声ファイルを生成する方法を示します。このデモは、https://github.com/seungwonpark/melgan、https://github.com/as-ideas/ForwardTacotron、および https://github.com/fatchord/WaveRNN リポジトリーに基づいています。
どのように動作するか¶
起動時に、デモ・アプリケーションはコマンドライン・パラメーターを読み取り、4 つまたは 3 つのモデルを OpenVINO™ ランタイムプラグインにロードします。デモ・パイプラインはテキストファイルを行ごとに読み取り、各行を句読点で分割します。ヒューリスティックのアルゴリズムは、文長によって、いくつかのしきい値に近い句読点を選択します。推論が完了すると、アプリケーションは 22050 Hz のサンプルレートでオーディオを WAV ファイルに出力します。
実行の準備¶
デモでサポートされるモデルリストは、<omz_dir>/demos/text_to_speech_demo/python/models.lst
ファイルにあります。このファイルは、モデル・ダウンローダーおよびコンバーターのパラメーターとして使用され、モデルをダウンロードし、必要に応じて OpenVINO IR 形式 (*.xml + *.bin) に変換できます。
モデル・ダウンローダーの使用例:
omz_downloader --list models.lst
モデル・コンバーターの使用例:
omz_converter --list models.lst
サポートされるモデル¶
forward-tacotron-duration-prediction
forward-tacotron-regression
wavernn-rnn
wavernn-upsampler
text-to-speech-en-0001-duration-prediction
text-to-speech-en-0001-generation
text-to-speech-en-0001-regression
text-to-speech-en-multi-0001-duration-prediction
text-to-speech-en-multi-0001-generation
text-to-speech-en-multi-0001-regression
注: 各種デバイス向けのモデル推論サポートの詳細については、インテルの事前トレーニング・モデルのデバイスサポートとパブリックの事前トレーニング・モデルのデバイスサポートの表を参照してください。
実行¶
-h
オプションを指定してアプリケーションを実行すると、使用方法が表示されます。
usage: text_to_speech_demo.py [-h] -m_duration MODEL_DURATION -m_forward
MODEL_FORWARD -i INPUT [-o OUT] [-d DEVICE]
[-m_upsample MODEL_UPSAMPLE] [-m_rnn MODEL_RNN]
[--upsampler_width UPSAMPLER_WIDTH]
[-m_melgan MODEL_MELGAN] [-s_id SPEAKER_ID]
[-a ALPHA]
Options:
-h, --help Show this help message and exit.
-m_duration MODEL_DURATION, --model_duration MODEL_DURATION
Required. Path to ForwardTacotron`s duration
prediction part (*.xml format).
-m_forward MODEL_FORWARD, --model_forward MODEL_FORWARD
Required. Path to ForwardTacotron`s mel-spectrogram
regression part (*.xml format).
-i INPUT, --input INPUT
Required. Text or path to the input file.
-o OUT, --out OUT Optional. Path to an output .wav file
-d DEVICE, --device DEVICE
Optional. Specify the target device to infer on; CPU,
GPU or HETERO is acceptable. The
demo will look for a suitable plugin for device
specified. Default value is CPU
-m_upsample MODEL_UPSAMPLE, --model_upsample MODEL_UPSAMPLE
Path to WaveRNN`s part for mel-spectrogram upsampling
by time axis (*.xml format).
-m_rnn MODEL_RNN, --model_rnn MODEL_RNN
Path to WaveRNN`s part for waveform autoregression
(*.xml format).
--upsampler_width UPSAMPLER_WIDTH
Width for reshaping of the model_upsample in WaveRNN
vocoder. If -1 then no reshape. Do not use with FP16
model.
-m_melgan MODEL_MELGAN, --model_melgan MODEL_MELGAN
Path to model of the MelGAN (*.xml format).
-s_id SPEAKER_ID, --speaker_id SPEAKER_ID
Ordinal number of the speaker in embeddings array for
multi-speaker model. If -1 then activates the multi-
speaker TTS model parameters selection window.
-a ALPHA, --alpha ALPHA
Coefficient for controlling of the speech time
(inversely proportional to speed).
オプションの空のリストを指定してアプリケーションを実行すると、使用法メッセージとエラーメッセージが表示されます。
引数を指定して実行する例¶
ForwardTacotron および WaveRNN モデルによる音声合成¶
python3 text_to_speech_demo.py \
--input <path_to_file>/text.txt \
-o <path_to_audio>/audio.wav \
--model_duration <path_to_model>/forward_tacotron_duration_prediction.xml \
--model_forward <path_to_model>/forward_tacotron_regression.xml \
--model_upsample <path_to_model>/wavernn_upsampler.xml \
--model_rnn <path_to_model>/wavernn_rnn.xml
注:
wavernn_upsampler
ネットワークの入力メルスペクトログラムの時間軸の幅を制御するため、このデモでは--upsampler_width
パラメーターを使用できます。このオプションは、長文のパイプライン推論の速度を向上させるのに役立ちます。
text-to-speech-en-0001 モデルによる音声合成¶
python3 text_to_speech_demo.py \
-i <path_to_file>/text.txt \
-o <path_to_audio>/audio.wav \
-m_duration <path_to_model>/text-to-speech-en-0001-duration-prediction.xml \
-m_forward <path_to_model>/text-to-speech-en-0001-regression.xml \
-m_melgan <path_to_model>/text-to-speech-en-0001-generation.xml
multi-speaker text-to-speech-en-multi-0001 モデルによる音声合成¶
python3 text_to_speech_demo.py \
-i <path_to_file>/text.txt \
-o <path_to_audio>/audio.wav \
-s_id 19 \
-m_duration <path_to_model>/text-to-speech-en-multi-0001-duration-prediction.xml \
-m_forward <path_to_model>/text-to-speech-en-multi-0001-regression.xml \
-m_melgan <path_to_model>/text-to-speech-en-multi-0001-generation.xml
注:
s_id
は話者の発話スタイルを定義します。-1 を選択すると、マルチスピーカー TTS モデルのパラメーター選択ウィンドウがアクティブになります。このウィンドウは、話者の性別、話者のインデックス番号を選択するか、PCA ベースの話者埋め込みを計算する可能性を提供します。s_id
は、text-to-speech-en-multi-0001
モデルでのみ使用できます。