Pytorch-Implementierung von FastPitchFormant: Source-Filter-basierte zerlegtes Modellieren für die Sprachsynthese.

Sie können die Python -Abhängigkeiten mit installieren
pip3 install -r requirements.txt
Sie müssen die vorbereiteten Modelle herunterladen und in output/ckpt/LJSpeech/ einsetzen.
Für englische TTS mit Single-Lautsprechern laufen Sie
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step 600000 --mode single -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
Die erzeugten Äußerungen werden in output/result/ .
Batch -Inferenz wird ebenfalls unterstützt, versuchen Sie es
python3 synthesize.py --source preprocessed_data/LJSpeech/val.txt --restore_step 600000 --mode batch -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
So synthetisieren Sie alle Äußerungen in preprocessed_data/LJSpeech/val.txt
Die Tonhöhe-/Sprechrate der synthetisierten Äußerungen kann durch Angabe der gewünschten Pitch/Energy/Dauer -Verhältnisse gesteuert werden. Zum Beispiel kann man die Sprechrate um 20 % erhöhen und die Tonhöhe um 20 % verringern
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step 600000 --mode single -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml --duration_control 0.8 --pitch_control 0.8
Die unterstützten Datensätze sind
Zunächst rennen
python3 prepare_align.py config/LJSpeech/preprocess.yaml
Für einige Vorbereitungen.
Wie in der Arbeit beschrieben, wird Montreal erzwungen Aligner (MFA) verwendet, um die Ausrichtungen zwischen den Äußerungen und den Phonemsequenzen zu erhalten. Ausrichtungen für die LJSpeech -Datensätze finden Sie hier. Sie müssen die Dateien in preprocessed_data/LJSpeech/TextGrid/ entpacken.
Führen Sie danach das Vorverarbeitungskript durch
python3 preprocess.py config/LJSpeech/preprocess.yaml
Alternativ können Sie den Korpus selbst ausrichten. Laden Sie das offizielle MFA -Paket herunter und führen Sie aus
./montreal-forced-aligner/bin/mfa_align raw_data/LJSpeech/ lexicon/librispeech-lexicon.txt english preprocessed_data/LJSpeech
oder
./montreal-forced-aligner/bin/mfa_train_and_align raw_data/LJSpeech/ lexicon/librispeech-lexicon.txt preprocessed_data/LJSpeech
Um den Korpus auszurichten und dann das Vorverarbeitungsskript auszuführen.
python3 preprocess.py config/LJSpeech/preprocess.yaml
Trainieren Sie Ihr Modell mit
python3 train.py -p config/LJSpeech/preprocess.yaml -m config/LJSpeech/model.yaml -t config/LJSpeech/train.yaml
Verwenden
tensorboard --logdir output/log/LJSpeech
Tensorboard auf Ihrem örtlichen Haus servieren. Die Verlustkurven, synthetisierte Melspektrogramme und Audios werden gezeigt.



normalization auf False in ./config/LJSpeech/preprocess.yaml festlegen, wenn Sie einen weiten Pitch -Bereich wie das beschriebene Papier sehen müssen. @misc{lee2021fastpitchformant,
author = {Lee, Keon},
title = {FastPitchFormant},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/keonlee9420/FastPitchFormant}}
}