私たちの論文では、Hifi-Gan:高忠実度の音声を効率的に生成できるGanベースのモデルを提案しました。
このリポジトリのオープンソースとして、実装および事前に守られたモデルを提供します。
要約:音声合成に関するいくつかの最近の研究では、生の波形ネットワーク(GAN)を採用して、生の波形を生成しています。このような方法はサンプリングの効率とメモリの使用を改善しますが、そのサンプルの品質は、自己回帰およびフローベースの生成モデルの品質にまだ達していません。この作業では、効率的および高忠実度の両方の音声合成を達成するHifi-Ganを提案します。音声オーディオはさまざまな期間の正弦波信号で構成されているため、オーディオの周期パターンのモデリングがサンプル品質を向上させるために重要であることを示します。単一のスピーカーデータセットの主観的な人間の評価(平均意見スコア、MOS)は、提案された方法が人間の品質と類似性を示し、単一のV100 GPUでリアルタイムの22.05 kHzの高忠実度オーディオを生成することを示しています。さらに、目に見えないスピーカーとエンドツーエンドの音声合成のメルスペクトルグラムの反転に対するHifi-Ganの一般性を示します。最後に、HIFI-GANの小さなフットプリントバージョンは、CPUのリアルタイムよりも13.4倍高速でサンプルを生成し、自己回帰のカウンターパートに匹敵する品質を備えています。
オーディオサンプルについては、デモWebサイトをご覧ください。
LJSpeech-1.1/wavsに移動します python train.py --config config_v1.json
V2またはV3ジェネレーターをトレーニングするには、 config_v2.jsonまたはconfig_v3.jsonにconfig_v1.jsonを置き換えます。
構成ファイルのチェックポイントとコピーは、デフォルトでcp_hifiganディレクトリに保存されます。
--checkpoint_pathオプションを追加して、パスを変更できます。
V1ジェネレーターでのトレーニング中の検証損失。 
また、当社が提供する優先モデルを使用することもできます。
前提条件のモデルをダウンロードします
各フォルダーの詳細は次のようになります。
| フォルダー名 | ジェネレータ | データセット | 微調整 |
|---|---|---|---|
| LJ_V1 | V1 | ljspeech | いいえ |
| LJ_V2 | V2 | ljspeech | いいえ |
| LJ_V3 | V3 | ljspeech | いいえ |
| LJ_FT_T2_V1 | V1 | ljspeech | はい(tacotron2) |
| LJ_FT_T2_V2 | V2 | ljspeech | はい(tacotron2) |
| LJ_FT_T2_V3 | V3 | ljspeech | はい(tacotron2) |
| VCTK_V1 | V1 | VCTK | いいえ |
| VCTK_V2 | V2 | VCTK | いいえ |
| VCTK_V3 | V3 | VCTK | いいえ |
| universal_v1 | V1 | ユニバーサル | いいえ |
ユニバーサルモデルに、他のデータセットに転送学習のベースとして使用できる判別器の重みを提供します。
.npyである必要があります。 Audio File : LJ001-0001.wav
Mel-Spectrogram File : LJ001-0001.npy
ft_datasetフォルダーを作成し、生成されたMEL-Spectrogramファイルをコピーします。 python train.py --fine_tuning True --config config_v1.json
test_filesディレクトリを作成し、WAVファイルをディレクトリにコピーします。 python inference.py --checkpoint_file [generator checkpoint file path]
生成されたWAVファイルは、デフォルトでgenerated_filesに保存されます。
--output_dirオプションを追加してパスを変更できます。
test_mel_filesディレクトリを作成し、生成されたmelspectrogramファイルをディレクトリにコピーします。 python inference_e2e.py --checkpoint_file [generator checkpoint file path]
生成されたWAVファイルは、デフォルトでgenerated_files_from_melに保存されます。
--output_dirオプションを追加してパスを変更できます。
これを実装するために、Waveglow、Melgan、およびTacotron2に言及しました。