Melgan
Implementasi Pytorch tidak resmi dari Melgan Vocoder
Fitur utama
- Melgan lebih ringan, lebih cepat, dan lebih baik dalam menggeneralisasi untuk penutur yang tidak terlihat daripada Waveglow.
- Repositori ini menggunakan fungsi Mel-spectrogram yang identik dari NVIDIA/TACOTRON2, jadi ini dapat langsung digunakan untuk mengonversi output dari NVIDIA's TACOTRON2 menjadi RAW-Audio.
- Model pretrained pada ljspeech-1.1 melalui hub Pytorch.

Prasyarat
Diuji pada Python 3.6
pip install -r requirements.txt
Siapkan dataset
- Unduh dataset untuk pelatihan. Ini bisa berupa file WAV dengan laju sampel 22050Hz. (misalnya ljspeech digunakan dalam kertas)
- Preprocess:
python preprocess.py -c config/default.yaml -d [data's root path] - Edit Konfigurasi File
yaml
Kereta & Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml dan kemudian edit config.yaml - Tuliskan jalur root file kereta/validasi ke baris ke -2/3.
- Setiap jalur harus berisi pasangan
*.wav dengan file yang sesuai (preprocessed) *.mel . - Data loader mem -parses daftar file dalam jalur secara rekursif.
-
tensorboard --logdir logs/
Model pretrained
Coba dengan Google Colab: Todo
import torch
vocoder = torch . hub . load ( 'seungwonpark/melgan' , 'melgan' )
vocoder . eval ()
mel = torch . randn ( 1 , 80 , 234 ) # use your own mel-spectrogram here
if torch . cuda . is_available ():
vocoder = vocoder . cuda ()
mel = mel . cuda ()
with torch . no_grad ():
audio = vocoder . inference ( mel )Kesimpulan
-
python inference.py -p [checkpoint path] -i [input mel path]
Hasil
Lihat sampel audio di: http://swpark.me/melgan/. Model dilatih di V100 GPU selama 14 hari menggunakan LJSPEECH-1.1.

Penulis Implementasi
Lisensi
Lisensi BSD 3 Clause.
- utils/stft.py oleh Prem Seetharaman (lisensi BSD 3-Clause)
- Datasets/Mel2samp.py dari https://github.com/nvidia/waveglow (lisensi BSD 3-Clause)
- utils/hparams.py dari https://github.com/harryvolek/pytorch_speaker_verifikasi (tidak ada lisensi yang ditentukan)
Sumber daya yang berguna
- Bagaimana cara melatih gan? Tips dan Trik untuk Membuat Gans Bekerja oleh Soumith Chintala
- Implementasi Melgan resmi oleh penulis asli
- Reproduksi Melgan - Neurips 2019 Tantangan Reproduksibilitas (Ablation Track) Oleh Yifei Zhao, Yichao Yang, dan Yang Gao
- "Mengganti lapisan pooling rata -rata dengan lapisan pooling maksimal dan mengganti bantalan refleksi dengan bantalan replikasi meningkatkan kinerja secara signifikan, sementara menggabungkannya menghasilkan hasil yang lebih buruk"