Implementasi PyTorch dari Generspeech (Neurips'22): Model teks-ke-pidato menuju transfer gaya zero-shot dengan kesetiaan tinggi dari OOD Custom Voice.
Kami menyediakan implementasi dan model pretrained kami di repositori ini.
Kunjungi halaman demo kami untuk sampel audio.
Kami memberikan contoh bagaimana Anda dapat menghasilkan sampel kesetiaan tinggi menggunakan Generspeech.
Untuk mencoba dataset Anda sendiri, cukup klon repo ini di mesin lokal Anda yang disediakan dengan NVIDIA GPU + CUDA CUDNN dan ikuti instruksi di bawah ini.
Anda dapat menggunakan model pretrained yang kami sediakan di sini, dan data di sini. Rincian setiap folder adalah seperti berikut:
| Model | Dataset (16 kHz) | Discription |
|---|---|---|
| Generspeech | Libritts, ESD | Model Akumusit (Config) |
| Hifi-gan | Libritts, ESD | Vocoder saraf |
| Encoder | / | Encoder Emosi |
Dataset yang lebih banyak didukung akan segera hadir.
Lingkungan Conda yang cocok bernama generspeech dapat dibuat dan diaktifkan dengan:
conda env create -f environment.yaml
conda activate generspeech
Secara default, implementasi ini menggunakan sebanyak mungkin GPU secara paralel seperti yang dikembalikan oleh torch.cuda.device_count() . Anda dapat menentukan GPU mana yang akan digunakan dengan mengatur variabel lingkungan CUDA_DEVICES_AVAILABLE sebelum menjalankan modul pelatihan.
Di sini kami menyediakan pipa sintesis ucapan menggunakan Generspeech.
checkpoints/GenerSpeechcheckpoints/trainset_hifigancheckpoints/Emotion_encoder.ptdata/binary/training_setCUDA_VISIBLE_DEVICES= $GPU python inference/GenerSpeech.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --hparams= " text='here we go',ref_audio='assets/0011_001570.wav' " File WAV yang dihasilkan disimpan di infer_out secara default.
raw_data_dir , processed_data_dir , binary_data_dir dalam file konfigurasi, dan unduh dataset ke raw_data_dir .preprocess_cls di file konfigurasi. Struktur dataset perlu mengikuti prosesor preprocess_cls , atau Anda dapat menulis ulang sesuai dengan dataset Anda. Kami menyediakan prosesor Libitts sebagai contoh dalam modules/GenerSpeech/config/generspeech.yamlemotion_encoder_path . Untuk detail lebih lanjut, silakan merujuk ke cabang ini. # Preprocess step: unify the file structure.
python data_gen/tts/bin/preprocess.py --config $path /to/config
# Align step: MFA alignment.
python data_gen/tts/bin/train_mfa_align.py --config $path /to/config
# Binarization step: Binarize data for fast IO.
CUDA_VISIBLE_DEVICES= $GPU python data_gen/tts/bin/binarize.py --config $path /to/configAnda juga dapat membangun dataset melalui NATSPEECH, yang berbagi prosedur pemrosesan data MFA yang umum. Kami juga menyediakan dataset olahan kami (16kHz Liblitts+ESD).
CUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --resetCUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --inferImplementasi ini menggunakan bagian -bagian kode dari repo github berikut: Fastdiff, Natspeech, seperti yang dijelaskan dalam kode kami.
Jika Anda menemukan kode ini berguna dalam penelitian Anda, silakan kutip pekerjaan kami:
@inproceedings { huanggenerspeech ,
title = { GenerSpeech: Towards Style Transfer for Generalizable Out-Of-Domain Text-to-Speech } ,
author = { Huang, Rongjie and Ren, Yi and Liu, Jinglin and Cui, Chenye and Zhao, Zhou } ,
booktitle = { Advances in Neural Information Processing Systems }
}Setiap organisasi atau individu dilarang menggunakan teknologi apa pun yang disebutkan dalam makalah ini untuk menghasilkan pidato seseorang tanpa persetujuannya, termasuk tetapi tidak terbatas pada para pemimpin pemerintah, tokoh politik, dan selebriti. Jika Anda tidak mematuhi item ini, Anda bisa melanggar undang -undang hak cipta.