diffgan-ttsのpytorch実装:拡散gansを除去した高忠実度と効率的なテキストからスピーチ


オーディオサンプルは /デモで利用できます。
データセットとは、次のドキュメントでLJSpeechやVCTKなどのデータセットの名前を指します。
モデルは、モデルのタイプを指します(「ナイーブ」、「 aux 」、「浅い」から選択します)。
Python依存関係をインストールできます
pip3 install -r requirements.txt
既製のモデルをダウンロードして、それらを入れなければなりません
output/ckpt/DATASET_naive/ for ' naive 'モデル。output/ckpt/DATASET_shallow/ for ' shallow 'モデル。 「浅い」モデルのチェックポイントには「浅い」モデルと「 aux 」モデルの両方が含まれており、これら2つのモデルはプロセス全体を通して結果を除くすべてのディレクトリを共有することに注意してください。単一スピーカーのTTSの場合、実行します
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET
マルチスピーカーのTTSの場合、実行します
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --speaker_id SPEAKER_ID --restore_step RESTORE_STEP --mode single --dataset DATASET
学習スピーカーの辞書はpreprocessed_data/DATASET/speakers.jsonで見つけることができ、生成された発話はoutput/result/に配置されます。
バッチ推論もサポートされています
python3 synthesize.py --source preprocessed_data/DATASET/val.txt --model MODEL --restore_step RESTORE_STEP --mode batch --dataset DATASET
preprocessed_data/DATASET/val.txtのすべての発話を合成します。
合成された発話のピッチ/ボリューム/発話レートは、目的のピッチ/エネルギー/持続時間比を指定することで制御できます。たとえば、発言率を20%上げて、体積を20%減らすことができます
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET --duration_control 0.8 --energy_control 0.8
制御可能性はfastspeech2に由来し、diffgan-ttsの重要な関心ではないことに注意してください。
サポートされているデータセットは次のとおりです
ljspeech:単一スピーカーの英語データセットは、7つのノンフィクションの本からパッセージを読む女性スピーカーの13100の短いオーディオクリップで構成されています。合計約24時間です。
VCTK:CSTR VCTKコーパスには、さまざまなアクセントを持つ110人の英語スピーカー(マルチスピーカーTTS )が発する音声データが含まれています。各スピーカーは、新聞、虹の通路、音声アクセントアーカイブに使用される誘発段落から選択された約400文を読み取ります。
外部スピーカーの封入器を備えたマルチスピーカーTTSについては、スピーカーの埋め込み用のPhilipperemyのディープスピーカーのRescnn SoftMax+Triplet Tretrained Modelをダウンロードし、それを./deepspeaker/pretrained_models/に見つけます。
走る
python3 prepare_align.py --dataset DATASET
いくつかの準備のために。
強制アライメントのために、モントリオールの強制アライナー(MFA)を使用して、発話と音素シーケンスの間のアライメントを取得します。データセットの事前に抽出されたアライメントはここに記載されています。 preprocessed_data/DATASET/TextGrid/でファイルを解凍する必要があります。または、自分でアライナーを実行できます。
その後、前処理スクリプトを実行します
python3 preprocess.py --dataset DATASET
「ナイーブ」、「 aux 」、「浅い」という3種類のモデルをトレーニングできます。
トレーニングナイーブバージョン(「ナイーブ」):
ナイーブバージョンをでトレーニングします
python3 train.py --model naive --dataset DATASET
浅いバージョンの基本音響モデル( ' aux ')のトレーニング:
浅いバージョンをトレーニングするには、事前に訓練されたFastSpeech2が必要です。以下のコマンドでは、補助(MEL)デコーダーを含むFastSpeech2モジュールをトレーニングできます。
python3 train.py --model aux --dataset DATASET
浅いバージョンのトレーニング(「浅い」):
補助(MEL)デコーダーを含む事前に訓練されたFastSpeech2を活用するには、次のコマンドとして補助FastSpeech2トレーニングの最終ステップで--restore_stepを渡す必要があります。
python3 train.py --model shallow --restore_step RESTORE_STEP --dataset DATASET
たとえば、最後のチェックポイントが補助トレーニング中に200000ステップで保存されている場合、 200000で--restore_stepを設定する必要があります。次に、AUXモデルをロードしてフリーズし、アクティブな浅い拡散メカニズムの下でトレーニングを継続します。
使用
tensorboard --logdir output/log/DATASET
LocalHostでTensorboardを提供します。損失曲線、合成されたメルスペクトルグラム、およびオーディオが表示されます。






lambda_fm scala値に固定されています。'none'と'DeepSpeaker'の間)を設定して切り替えることができます。
このリポジトリは、セクションについての「このリポジトリを引用」して引用してください(メインページの右上)。