Dieses Repository enthält ein Fastspeech2 -Modell für 8 indische Sprachen (männlich und weiblich), die mit dem Montreal erzwungenen Aligner (MFA) für die Sprachsynthese implementiert sind. Das Modell kann Melspektrogramme aus Texteingaben erzeugen und kann zur Synthese der Sprache verwendet werden.
Das Repo hat groß: Wir haben aufgrund der Größenbeschränkung von Github Git LFs verwendet (bitte installieren Sie die neuesten Git -LFs aus dem Link, wir haben die aktuelle unten angegeben).
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.python.sh | bash
sudo apt-get install git-lfs
git lfs install
Sprachmodelldateien werden mit Git LFS hochgeladen. Also bitte benutzen:
git lfs fetch --all
git lfs pull
Um die Originaldateien in Ihrem Verzeichnis zu erhalten.
Das Modell für jede Sprache enthält die folgenden Dateien:
config.yaml : Konfigurationsdatei für das Fastspeech2 -Modell.energy_stats.npz : Energiestatistik zur Normalisierung während der Synthese.feats_stats.npz : Features -Statistiken zur Normalisierung während der Synthese.feats_type : Features Typinformationen.pitch_stats.npz : Pitch -Statistiken zur Normalisierung während der Synthese.model.pth : Vorausgebildete Fastspeech2-Modellgewichte. environment.yml -Datei: conda env create -f environment.yml2. Aktivieren Sie die Conda -Umgebung (überprüfen Sie in der Umgebung. Yaml -Datei):
conda activate tts-mfa-hifiganconda install pytorch torchvision cudatoolkit
pip install torchaudioUm WAV-Dateien aus Melspektrogrammen zu generieren, können Sie einen Vocoder Ihrer Wahl verwenden. Eine beliebte Option ist der Hifigan -Vokoder (klonen Sie dieses Repo und setzen Sie es in das aktuelle Arbeitsverzeichnis). In der Dokumentation des Vocoders, den Sie für Installations- und Nutzungsanweisungen auswählen, finden Sie in der Dokumentation.
(Wir haben den Hifigan -Vokoder verwendet und Vocoder auf Aryan und Dravidian Sprachen bereitgestellt.)
Die Verzeichnispfade sind relativ. (Nehmen Sie Änderungen an text_preprocess_for_inference.py und inference.py vor.
Bitte geben Sie eine Sprache, beginnend mit Großbuchstaben und Geschlecht in kleinem Fall und Beispieltext zwischen den Zitaten. Ausgabeargument ist optional; Der angegebene Name wird für die Ausgabedatei verwendet.
Verwenden Sie die Inferenzdatei, um Sprache aus Texteingaben zu synthetisieren:
python inference.py --sample_text " Your input text here " --language < language > --gender < gender > --output_file < file_name.wav OR path/to/file_name.wav >Beispiel:
python inference.py --sample_text "श्रीलंका और पाकिस्तान में खेला जा रहा एशिया कप अब तक का सबसे विवादित टूर्नामेंट होता जा रहा है।" --language hindi --gender male --output_file male_hindi_output.wav
Die Datei wird als male_hindi_output.wav gespeichert und befindet sich im aktuellen Arbeitsverzeichnis. Wenn -Output_file -Argument nicht angegeben wird, wird es im aktuellen Arbeitsverzeichnis als <language>_<gender>_output.wav gespeichert.
Wenn Sie dieses Fastspeech2 -Modell in Ihrer Forschung oder Arbeit verwenden, sollten Sie sich bitte untersuchen:
"Copyright 2023, Sprachtechnologiekonsortium, Bhashini, Meity und von Hema A Murthy & S Umesh, Abteilung für Informatik und Ingenieurwesen und Elektrotechnik, IIT Madras. Alle Rechte vorbehalten"
Schild:
Diese Arbeit ist unter einer internationalen Lizenz für Creative Commons zuzuschreiben.