Implémentation de Pytorch de Wavegrad 2 de Google Brain 2: raffinement itératif pour la synthèse de texte vocal.


Vous pouvez installer les dépendances Python avec
pip3 install -r requirements.txt
Vous devez télécharger les modèles pré-entraînés et les mettre en output/ckpt/LJSpeech/ .
Pour les TTS à haut-parleur anglais, courez
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step RESTORE_STEP --mode single -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
Les énoncés générés seront placés en output/result/ .
L'inférence par lots est également prise en charge, essayez
python3 synthesize.py --source preprocessed_data/LJSpeech/val.txt --restore_step RESTORE_STEP --mode batch -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
Pour synthétiser toutes les énoncés dans preprocessed_data/LJSpeech/val.txt
Le taux de parole des énoncés synthétisés peut être contrôlé en spécifiant les rapports de durée souhaités. Par exemple, on peut augmenter le taux de parole de 20% par
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step RESTORE_STEP --mode single -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml --duration_control 0.8
Les ensembles de données pris en charge sont
Tout d'abord, courez
python3 prepare_align.py config/LJSpeech/preprocess.yaml
pour certaines préparatifs.
Comme décrit dans l'article, l'aligneur forcé de Montréal (MFA) est utilisé pour obtenir les alignements entre les énoncés et les séquences de phonèmes. Les alignements pour les ensembles de données LJSPEECH sont fournis ici (grâce à FastSpeech2 de Ming024). Vous devez décompresser les fichiers dans preprocessed_data/LJSpeech/TextGrid/ .
Après cela, exécutez le script de prétraitement par
python3 preprocess.py config/LJSpeech/preprocess.yaml
Alternativement, vous pouvez aligner le corpus par vous-même. Téléchargez le package MFA officiel et exécutez
./montreal-forced-aligner/bin/mfa_align raw_data/LJSpeech/ lexicon/librispeech-lexicon.txt english preprocessed_data/LJSpeech
ou
./montreal-forced-aligner/bin/mfa_train_and_align raw_data/LJSpeech/ lexicon/librispeech-lexicon.txt preprocessed_data/LJSpeech
Pour aligner le corpus, puis exécutez le script de prétraitement.
python3 preprocess.py config/LJSpeech/preprocess.yaml
Former votre modèle avec
python3 train.py -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
Utiliser
tensorboard --logdir output/log/LJSpeech
pour servir Tensorboard sur votre hôte local. Les courbes de perte, les spectrogrammes de MEL synthétisés et les audios sont affichés.



22050Hz au lieu de 24KHz et suivez les configurations générales LJSpeech.nn.LSTM à la place. @misc{lee2021wavegrad2,
author = {Lee, Keon},
title = {WaveGrad2},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/keonlee9420/WaveGrad2}}
}