Implementasi PyTorch dari meta-stylespeech: multi-speaker adaptif text-to-speech generasi.


naive ) main )Anda dapat menginstal dependensi Python dengan
pip3 install -r requirements.txt
Anda harus mengunduh model pretrained dan memasukkannya ke dalam output/ckpt/LibriTTS_meta_learner/ .
Untuk TTS multi-speaker bahasa Inggris, jalankan
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --ref_audio path/to/reference_audio.wav --restore_step 200000 --mode single -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Ucapan yang dihasilkan akan dimasukkan ke dalam output/result/ . Pidato yang disintesis Anda akan memiliki gaya ref_audio .
Inferensi batch juga didukung, coba
python3 synthesize.py --source preprocessed_data/LibriTTS/val.txt --restore_step 200000 --mode batch -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Untuk mensintesis semua ucapan di preprocessed_data/LibriTTS/val.txt . Ini dapat dilihat sebagai rekonstruksi dataset validasi yang merujuk pada diri mereka sendiri untuk gaya referensi.
Laju pitch/volume/berbicara dari ucapan yang disintesis dapat dikontrol dengan menentukan rasio pitch/energi/durasi yang diinginkan. Misalnya, seseorang dapat meningkatkan tingkat berbicara sebesar 20 % dan mengurangi volume sebesar 20 % dengan
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step 200000 --mode single -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml --duration_control 0.8 --energy_control 0.8
Perhatikan bahwa kemampuan kontrol berasal dari FastSpeech2 dan bukan minat vital dari Stylespeech. Silakan merujuk ke styler [demo, kode] untuk pengendalian masing -masing faktor gaya.
Dataset yang didukung adalah
Berlari
python3 prepare_align.py config/LibriTTS/preprocess.yaml
untuk beberapa persiapan.
Untuk penyelarasan paksa, Montreal memaksa Aligner (MFA) digunakan untuk mendapatkan keberpihakan antara ucapan dan urutan fonem. Penyelarasan yang telah diekstraksi untuk set data disediakan di sini. Anda harus membuka ritsleting file di preprocessed_data/LibriTTS/TextGrid/ . Bergantian, Anda dapat menjalankan pelurus sendiri.
Setelah itu, jalankan skrip preprocessing dengan
python3 preprocess.py config/LibriTTS/preprocess.yaml
Latih model Anda dengan
python3 train.py -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Seperti yang dijelaskan dalam makalah, skrip akan mulai dari pra-pelatihan model naif sampai langkah meta_learning_warmup dan kemudian meta-train model untuk langkah-langkah tambahan melalui pelatihan episodik.
Menggunakan
tensorboard --logdir output/log/LibriTTS
untuk melayani Tensorboard di Localhost Anda. Kurva kehilangan, sintesis mel-spectrograms, dan audio ditampilkan.



22050Hz , bukan 16kHz .80 hingga 128 .28.197M .16 batch pada pelatihan, bukan 48 atau 20 terutama karena kurangnya kapasitas memori dengan 24Gib Titan-RTX tunggal. Ini dapat dicapai dengan skrip berikut untuk memfilter data lebih lama dari max_seq_len : python3 filelist_filtering.py -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml
train_filtered.txt di lokasi yang sama dari train.txt . @misc{lee2021stylespeech,
author = {Lee, Keon},
title = {StyleSpeech},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/keonlee9420/StyleSpeech}}
}