Pytorch GenerSepeechの実装(Neurips'22):OODカスタム音声の高忠実度ゼロショットスタイル転送に向けたテキストからスピーチモデル。
このリポジトリには、実装モデルと事前処理モデルを提供します。
オーディオサンプルについては、デモページにアクセスしてください。
GenerSepeechを使用して高忠実度サンプルを生成する方法の例を示します。
独自のデータセットを試してみるには、NVIDIA GPU + CUDA CUDNNで提供されたローカルマシンでこのリポジトリをクローンして、以下の指示に従ってください。
ここで提供する前払いモデルを使用し、ここでデータを使用できます。各フォルダーの詳細は次のようになります。
| モデル | データセット(16 kHz) | 説明 |
|---|---|---|
| GenerSpeech | Libritts、Esd | 音響モデル(config) |
| hifi-gan | Libritts、Esd | ニューラルボコーダー |
| エンコーダー | / | 感情エンコーダー |
よりサポートされているデータセットがまもなく登場します。
generspeechという名前の適切なコンドラ環境を作成してアクティブ化できます。
conda env create -f environment.yaml
conda activate generspeech
デフォルトでは、この実装では、 torch.cuda.device_count()によって返されるのと同じくらい多くのGPUを並列に使用します。トレーニングモジュールを実行する前に、 CUDA_DEVICES_AVAILABLE環境変数を設定することにより、使用するGPUを指定できます。
ここでは、GenerSepeechを使用した音声合成パイプラインを提供します。
checkpoints/GenerSpeechにチェックポイントをダウンロードして配置しますcheckpoints/trainset_hifiganに配置しますcheckpoints/Emotion_encoder.ptにダウンロードして配置しますdata/binary/training_setにダウンロードして配置しますCUDA_VISIBLE_DEVICES= $GPU python inference/GenerSpeech.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --hparams= " text='here we go',ref_audio='assets/0011_001570.wav' "生成されたWAVファイルは、デフォルトではinfer_outに保存されます。
raw_data_dir 、 processed_data_dir 、 binary_data_dirを構成ファイルに設定し、 raw_data_dirにデータセットをダウンロードします。preprocess_cls確認します。データセット構造は、プロセッサpreprocess_clsに従う必要があります。または、データセットに従って書き換えることができます。 modules/GenerSpeech/config/generspeech.yamlの例としてLibrittsプロセッサを提供しますemotion_encoder_pathにダウンロードします。詳細については、このブランチを参照してください。 # Preprocess step: unify the file structure.
python data_gen/tts/bin/preprocess.py --config $path /to/config
# Align step: MFA alignment.
python data_gen/tts/bin/train_mfa_align.py --config $path /to/config
# Binarization step: Binarize data for fast IO.
CUDA_VISIBLE_DEVICES= $GPU python data_gen/tts/bin/binarize.py --config $path /to/configまた、一般的なMFAデータ処理手順を共有するNatspeechを介してデータセットを構築することもできます。また、処理されたデータセット(16kHz Libritts+ESD)も提供しています。
CUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --resetCUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --inferこの実装では、次のGitHubリポジトリのコードの一部を使用します:fastdiff、natspeech、コードで説明されています。
このコードがあなたの研究で役立つと思う場合は、私たちの仕事を引用してください。
@inproceedings { huanggenerspeech ,
title = { GenerSpeech: Towards Style Transfer for Generalizable Out-Of-Domain Text-to-Speech } ,
author = { Huang, Rongjie and Ren, Yi and Liu, Jinglin and Cui, Chenye and Zhao, Zhou } ,
booktitle = { Advances in Neural Information Processing Systems }
}組織または個人は、政府の指導者、政治家、有名人を含むがこれらに限定されない、この論文で言及された技術を使用して誰かの同意なしにスピーチを生成することを禁止されています。このアイテムに準拠していない場合は、著作権法に違反する可能性があります。