Implementasi Pytorch tidak resmi dari FastSpeech 2: teks ujung ke ujung yang berkualitas tinggi dan berkualitas tinggi . Repo ini menggunakan implementasi ESPNET FastSpeech sebagai basis. Dalam implementasi ini saya mencoba mereplikasi detail kertas yang tepat tetapi masih beberapa modifikasi yang diperlukan untuk model yang lebih baik, repo ini terbuka untuk setiap saran dan peningkatan. Repo ini menggunakan preprocessing Tacotron 2 NVIDIA untuk pra-pemrosesan audio dan Melgan sebagai Vocoder.

Semua kode yang ditulis dalam Python 3.6.2 .
Sebelum menginstal pytorch, silakan periksa versi CUDA Anda dengan menjalankan perintah berikut:
nvcc --version
pip install torch torchvision
Dalam repo ini saya telah menggunakan pytorch 1.6.0 untuk fitur torch.bucketize yang tidak ada dalam versi Pytorch sebelumnya.
pip install -r requirements.txt
tensorboard version 1.14.0 Seperatly dengan tensorflow (1.14.0) Folder filelists berisi MFA (Motreal Force Aligner) yang diproses file dataset LJSPEECH sehingga Anda tidak perlu menyelaraskan teks dengan audio (untuk durasi ekstrak) untuk dataset ljspeech. Untuk dataset lain, ikuti instruksi di sini. Untuk perintah pengikut menjalankan pra-pemrosesan lainnya:
python .nvidia_preprocessing.py -d path_of_wavs
Untuk menemukan min dan max f0 dan energi
python .compute_statistics.py
Perbarui yang berikut di hparams.py oleh min dan max f0 dan energi
p_min = Min F0/pitch
p_max = Max F0
e_min = Min energy
e_max = Max energy
python train_fastspeech.py --outdir etc -c configs/default.yaml -n "name"
Saat ini hanya sintesis berbasis fonem yang didukung.
python .inference.py -c .configsdefault.yaml -p .checkpointsfirst_1ts_version2_fastspeech_fe9a2c7_7k_steps.pyt --out output --text "ModuleList can be indexed like a regular Python list but modules it contains are properly registered."
python export_torchscript.py -c configs/default.yaml -n fastspeech_scrip --outdir etc
sample . Pelatihan :
Validasi:
Postnet untuk kualitas audio yang lebih baik.