Implementasi Pytorch dari CS-Tacotron, sintesis ucapan-ucapan kode-ke-ujung model TTS end-end berdasarkan tacotron. Untuk versi reguler Tacotron, silakan lihat repo ini.
Dengan keberhasilan luas model Machine Learning Text-to-Speech (TTS) baru-baru ini, hasil yang menjanjikan pada sintesis ucapan realistis telah membuktikan kemampuan mesin untuk mensintesis suara seperti manusia. Namun, sedikit kemajuan yang telah dibuat dalam domain sintesis teks-ke-speech-speech bahasa Inggris-Inggris, di mana mesin harus belajar menangani input dan output secara multibahasa. Kode-switching terjadi ketika seorang pembicara berganti-ganti antara dua atau lebih bahasa, saat ini orang berkomunikasi dalam bahasa-bahasa pengalihan kode dalam kehidupan sehari-hari, sehingga teknologi bahasa lisan seperti TTS harus dikembangkan untuk menangani input dan output multibahasa.
Dalam karya ini, kami menyajikan tacotron pengalihan kode, yang dibangun berdasarkan model generatif generatif end-to-end-end-end-end-speech Tacotron (Wang et al., 2017). CS-Tacotron mampu mensintesis pidato pengalihan kode yang dikondisikan pada teks CS mentah. Diberikan pasangan teks dan audio CS, model kami dapat dilatih ujung-ke-ujung dengan data pra-pemrosesan yang tepat. Fondurmore, kami melatih model kami pada dataset CercuredSP, dataset berbasis kuliah-kuliah-kuliah bahasa Inggris-Inggris, yang berasal dari kursus pemrosesan sinyal digital (DSP) yang ditawarkan di Universitas Nasional Taiwan (NTU). Kami menyajikan beberapa teknik implementasi utama untuk membuat model Tacotron berkinerja baik pada tugas pembuatan wicara multibahasa yang menantang ini. CS-Tacotron memiliki kemampuan menghasilkan pidato CS dari teks CS, dan berbicara dengan jelas dengan gaya pembicara kuliah.
Lihat Report.pdf untuk lebih detail karya ini.
Permintaan tarik dipersilakan!
Sampel audio CS-Tacotron. Semua frasa di bawah ini tidak terlihat selama pelatihan.
Pasang Python 3.
Instal versi terbaru Pytorch sesuai dengan platform Anda. Untuk kinerja yang lebih baik, instal dengan dukungan GPU (CUDA) jika layak. Kode ini berfungsi dengan Pytorch 1.0 dan yang lebih baru.
(Opsional) Instal versi terbaru TensorFlow sesuai dengan platform Anda. Ini bisa opsional, tetapi untuk saat ini diperlukan untuk pemrosesan bicara.
Instal Persyaratan:
pip3 install -r requirements.txt
PERINGATAN: Anda perlu menginstal obor dan TensorFlow / TensorFlow-GPU tergantung pada platform Anda. Di sini kami mencantumkan versi Pytorch dan TensorFlow yang kami gunakan ketika kami membangun proyek ini.
python3 test.py --interactive --plot --long_input --model 470000
python3 test.py --plot --model 480000 --test_file_path ../data/text/test_sample.txt
* '--long_input' is optional to add
CATATAN: Kami melatih model kami pada dataset kami sendiri: Ceramah. Saat ini dataset ini tidak tersedia untuk rilis publik dan tetap menjadi koleksi pribadi di lab. Lihat 'Report.pdf' untuk informasi lebih lanjut tentang dataset ini.
Unduh dataset kode-switch pilihan Anda.
Buka kumpulan dataset ke dalam ~/data/text dan ~/data/audio .
Setelah membongkar, pohon data Anda akan terlihat seperti ini agar jalur default berfungsi:
./CS-Tacotron
|- data
|- text
|- train_sample.txt
|- test_sample.txt
|- audio
|- sample
|- audio_sample_*.wav
|- ...
Catatan: Untuk bagian berikut, atur jalur sesuai dengan nama file dari dataset Anda, ini hanyalah demonstrasi beberapa data sampel. Format dataset Anda harus cocok dengan data sampel yang disediakan agar kode ini berfungsi.
Preprocess Data teks menggunakan src/preprocess.py:
python3 preprocess.py --mode text --text_input_raw_path ../data/text/train_sample.txt --text_pinyin_path '../data/text/train_sample_pinyin.txt'
Preprocess Data audio menggunakan src/preprocess.py:
python3 preprocess.py --mode audio --audio_input_dir ../data/audio/sample/ --audio_output_dir ../data/audio/sample_processed/ --visualization_dir ../data/audio/sample_visualization/
Visualisasi perbedaan preprocess audio:
Buat file meta siap model dari teks dan audio menggunakan src/preprocess.py:
python3 preprocess.py --mode meta --text_pinyin_path ../data/text/train_sample_pinyin.txt --audio_output_dir ../data/audio/sample_processed/
Latih model menggunakan src/train.py
python3 train.py
Hyperparameter Tunable ditemukan di src/config.py. Anda dapat menyesuaikan parameter ini dan pengaturan dengan mengedit file. Hyperparameters default direkomendasikan untuk data kuliah dan data pengalihan kode Cina-Inggris lainnya.
Monitor dengan Tensorboardx (Opsional)
tensorboard --logdir 'path to log dir'
Pelatih membuang audio dan keselarasan setiap 2000 langkah secara default. Anda dapat menemukannya di CS-tacotron/ckpt .
Kami ingin memberikan penghargaan atas karya Ryuichi Yamamoto, implementasi Pytorch yang indah dari Tacotron, yang terutama kami lakukan pada pekerjaan kami.
Kami menunjukkan plot penyelarasan dari fase pengujian model kami, di mana yang pertama menunjukkan perataan input Cina monolingual, yang kedua adalah input pengalihan kode bahasa Cina-Inggris, dan yang ketiga masing-masing adalah input bahasa Inggris monolingual.