Dies ist ein modularisiertes Text-zu-Sprache-Framework, das darauf abzielt, schnelle Forschung und Produktentwicklungen zu unterstützen. Hauptmerkmale sind
Beiträge sind willkommen.
Checkout der Demo hier 
git clone https://github.com/ranchlai/mandarin-tts.git
cd mandarin-tts
git submodule update --force --recursive --init --remote
pip install -e . f
Hier werden zwei Beispiele bereitgestellt: Biaobei und Aishell3.
Um Ihre eigenen Modelle zu trainieren, erstellen Sie zuerst eine Kopie aus vorhanden
cd examples
python wav2mel.py -c ./aishell3/config.yaml -w < aishell3_wav_folder > -m < mel_folder > -d cpuBereiten Sie die für das Training erforderlichen SCP -Dateien vor.
cd examples/aishell3
python prepare.py --wav_folder < aishell3_wav_folder > --mel_folder < mel_folder > --dst_folder ./train/Dadurch werden SCP -Dateien generiert, die von config.yaml (im Abschnitt Datensatz/Zug) erforderlich sind. Sie müssen auch überprüfen, ob in der Konfigurationsdatei alles in Ordnung ist. Normalerweise müssen Sie den Code nicht ändern.
Jetzt können Sie Ihr Training mit beginnen
cd examples/aishell3
python ../../mtts/train.py -c config.yaml -d cudaFür den biaobei -Datensatz ist der Workflow der gleiche, außer dass es keinen Lautsprecher einbettet, aber Sie können ein Einbettung von Prosodien hinzufügen.
Weitere Beispiele werden hinzugefügt. Bitte bleiben Sie.
Derzeit werden zwei Beispiele bereitgestellt, und die entsprechenden Checkpoints/Konfigurationen werden wie folgt zusammengefasst.
| Datensatz | Kontrollpunkt | Konfiguration |
|---|---|---|
| Aishell3 | Link | Link |
| biaobei | Link | Link |
Vocoder spielen die Rolle der Umwandlung von Melspektrogrammen in Wellenformen. Sie werden als Submodul hinzugefügt und werden in diesem Projekt geschult. Daher sollten Sie die Checkpoints vor dem Synthetisieren herunterladen. Im Training sind Vocoder nicht erforderlich, da Sie den Trainingsprozess aus erzeugten Melspektrogrammen und auch die Verlustkurve überwachen können. Aktuell wir unterstützen die folgenden Vocoder,
| Vocoder | Kontrollpunkt | Github |
|---|---|---|
| Wellenlow | Link | Link |
| Hifi-Gan | Link | Link |
| Vocgan | Link Link | Link |
| Melgan | Link | Link |
Alle Vocoder sind bereit, nach dem Ausführen von git submodule update --force --recursive --init --remote . Sie müssen jedoch den Checkpoint manuell herunterladen und den Pfad in der Datei config.yaml ordnungsgemäß einstellen.
Die Eingabe.txt sollte mit der Einstellung von emb_type1 zu emb_type_n in der Konfigurationsdatei, dh gleicher Typ, gleicher Reihenfolge übereinstimmen.
Um die Transkription von Hanzi zu Pinyin zu erleichtern, können Sie es versuchen:
cd examples/aishell3/
python ../../mtts/text/gp2py.py -t "为适应新的网络传播方式和读者阅读习惯"
>> sil wei4 shi4 ying4 xin1 de5 wang3 luo4 chuan2 bo1 fang1 shi4 he2 du2 zhe3 yue4 du2 xi2 guan4 sil|sil 为 适 应 新 的 网 络 传 播 方 式 和 读 者 阅 读 习 惯 sil
Nicht Sie können den Text in eingeben.txt kopieren und denken Sie daran, den selbstdefinierten Namen und die Sprecher-ID von '|' abzulegen.
Mit den oben genannten Kontrollpunkten und Textbereitschaft können Sie schließlich den Syntheseprozess ausführen.
python ../../mtts/synthesize.py -d cuda --c config.yaml --checkpoint ./checkpoints/checkpoint_1240000.pth.tar -i input.txtBitte überprüfen Sie die Datei config.yaml auf die Vocoder -Einstellungen.
Wenn Sie Glück haben, finden Sie Audio -Beispiele im Ausgangsordner.