Ce référentiel contient un modèle FastSpeech2 pour 8 langues indiennes (hommes et femmes) implémentés en utilisant l'aligneur forcé de Montréal (MFA) pour la synthèse de la parole. Le modèle est capable de générer des spectrogrammes de MEL à partir des entrées de texte et peut être utilisé pour synthétiser la parole.
Le repo est de grande taille: nous avons utilisé Git LFS en raison de la contrainte de taille de GitHub (veuillez installer les derniers Git LFS à partir du lien, nous avons fourni celui actuel ci-dessous).
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.python.sh | bash
sudo apt-get install git-lfs
git lfs install
Les fichiers de modèle de langue sont téléchargés à l'aide de Git LFS. Veuillez donc utiliser:
git lfs fetch --all
git lfs pull
Pour obtenir les fichiers d'origine dans votre répertoire.
Le modèle pour chaque langue comprend les fichiers suivants:
config.yaml : fichier de configuration pour le modèle FastSpeech2.energy_stats.npz : statistiques énergétiques pour la normalisation pendant la synthèse.feats_stats.npz : présente des statistiques pour la normalisation pendant la synthèse.feats_type : Informations sur le type de fonctionnalités.pitch_stats.npz : statistiques de pitch pour la normalisation pendant la synthèse.model.pth : Poids du modèle FastSpeech2 pré-formé. environment.yml fourni: conda env create -f environment.yml2.Activer l'environnement conda (vérifier dans l'environnement.yaml fichier):
conda activate tts-mfa-hifiganconda install pytorch torchvision cudatoolkit
pip install torchaudioPour générer des fichiers WAV à partir de spectrogrammes MEL, vous pouvez utiliser un vocodeur de votre choix. Une option populaire est le HIFIGAN VOCODER (clone ce dépôt et le mettre dans le répertoire de travail actuel). Veuillez vous référer à la documentation du vocodeur que vous choisissez pour les instructions d'installation et d'utilisation.
(Nous avons utilisé le vocodeur Hifigan et avons fourni un vocodeur réglé sur les langues aryennes et dravidiennes)
Les chemins de répertoire sont relatifs. (Apporter des modifications à Text_Preprocess_For_inference.py et Inference.py File. Mettez à jour le dossier / chemins de fichiers partout où il est nécessaire.)
Veuillez donner un langage à commencer par la lettre majuscule et le sexe dans un petit cas et un exemple de texte entre les devis. L'argument de sortie est facultatif; Le nom fourni sera utilisé pour le fichier de sortie.
Utilisez le fichier d'inférence pour synthétiser la parole à partir des entrées de texte:
python inference.py --sample_text " Your input text here " --language < language > --gender < gender > --output_file < file_name.wav OR path/to/file_name.wav >Exemple:
python inference.py --sample_text "श्रीलंका और पाकिस्तान में खेला जा रहा एशिया कप अब तक का सबसे विवादित टूर्नामेंट होता जा रहा है।" --language hindi --gender male --output_file male_hindi_output.wav
Le fichier sera stocké en tant que male_hindi_output.wav et sera dans le répertoire de travail actuel. Si --output_file l'argument n'est pas donné, il sera stocké en tant que <language>_<gender>_output.wav dans le répertoire de travail actuel.
Si vous utilisez ce modèle FastSpeech2 dans votre recherche ou votre travail, veuillez envisager de citer:
«Copyright 2023, Speech Technology Consortium, Bhashini, Meity et par Hema A Murthy & s Umesh, Département d'informatique et d'ingénierie et de génie électrique, IIT Madras. Tous droits réservés»
Bouclier:
Ce travail est concédé sous licence Creative Commons Attribution 4.0 International.