Implémentation de Pytorch de Generspeech (Neirips'22): un modèle de texte vocal vers le transfert de style de style zéro à haute fidélité de la voix personnalisée OOD.
Nous fournissons notre implémentation et nos modèles pré-entraînés dans ce référentiel.
Visitez notre page de démonstration pour des échantillons audio.
Nous fournissons un exemple de la façon dont vous pouvez générer des échantillons de haute fidélité à l'aide de Generspeech.
Pour essayer votre propre ensemble de données, clonez simplement ce dépôt dans votre machine locale fournie avec Nvidia GPU + CUDA CUDNN et suivez les instructions ci-dessous.
Vous pouvez utiliser des modèles pré-entraînés que nous fournissons ici et des données ici. Les détails de chaque dossier sont comme suit:
| Modèle | Ensemble de données (16 kHz) | Condamnation |
|---|---|---|
| Generspeech | Libritts, ESD | Modèle acousite (config) |
| Hifi-gan | Libritts, ESD | Vocodeur neural |
| Encodeur | / / | Encodeur d'émotion |
Des ensembles de données plus pris en charge arrivent bientôt.
Un environnement conda approprié nommé generspeech peut être créé et activé avec:
conda env create -f environment.yaml
conda activate generspeech
Par défaut, cette implémentation utilise autant de GPU en parallèle que retourné par torch.cuda.device_count() . Vous pouvez spécifier les GPU à utiliser en définissant la variable d'environnement CUDA_DEVICES_AVAILABLE avant d'exécuter le module de formation.
Ici, nous fournissons un pipeline de synthèse de la parole en utilisant Generspeech.
checkpoints/GenerSpeechcheckpoints/trainset_hifigancheckpoints/Emotion_encoder.ptdata/binary/training_setCUDA_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' " Les fichiers WAV générés sont enregistrés dans infer_out par défaut.
raw_data_dir , processed_data_dir , binary_data_dir dans le fichier de configuration et téléchargez un ensemble de données sur raw_data_dir .preprocess_cls dans le fichier de configuration. La structure de l'ensemble de données doit suivre le processeur preprocess_cls , ou vous pouvez le réécrire en fonction de votre ensemble de données. Nous fournissons un processeur Libritts comme exemple dans modules/GenerSpeech/config/generspeech.yamlemotion_encoder_path . Pour plus de détails, veuillez vous référer à cette branche. # 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/configVous pouvez également créer un ensemble de données via NATSPEECH, qui partage une procédure de traitement des données MFA commune. Nous fournissons également notre ensemble de données traité (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 --inferCette implémentation utilise des parties du code à partir des REPOS GitHub suivants: FastDiff, NATSPEECH, comme décrit dans notre code.
Si vous trouvez ce code utile dans vos recherches, veuillez citer notre travail:
@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 }
}Toute organisation ou individu est interdit d'utiliser toute technologie mentionnée dans ce document pour générer le discours de quelqu'un sans son consentement, y compris, mais sans s'y limiter, les dirigeants du gouvernement, les personnalités politiques et les célébrités. Si vous ne respectez pas cet élément, vous pourriez violer les lois sur le droit d'auteur.