Zerovox adalah sistem Text-to-Speech (TTS) yang dibangun untuk penggunaan waktu nyata dan tertanam.
Zerovox berjalan sepenuhnya offline, memastikan privasi dan kemandirian dari layanan cloud. Ini sepenuhnya gratis dan open source, mengundang kontribusi dan saran komunitas.
Dimodelkan setelah FastSpeech2, Zerovox melangkah lebih jauh dengan kloning speaker nol-shot, menggunakan token gaya global (GST) dan speaker conditional layer normalization (SCLN) untuk penyematan speaker yang efektif. Sistem ini mendukung pembuatan bicara bahasa Inggris dan Jerman dari satu model, dilatih pada dataset yang luas. Zerovox berbasis fonem, memanfaatkan kamus pengucapan untuk memastikan artikulasi kata yang akurat, memanfaatkan Kamus CMU untuk Bahasa Inggris dan Kamus Kustom untuk Jerman dari Proyek Zamiaspeech di mana juga set fonem yang digunakan berasal dari.
Zerovox dapat berfungsi sebagai backend TTS untuk LLMS, memungkinkan interaksi real-time, dan sebagai sistem TTS yang mudah dipasang untuk sistem otomasi rumah seperti asisten rumah. Karena tidak autoregresif seperti FastSpeech2 outputnya umumnya mudah dikendalikan dan dapat diprediksi.
Lisensi: Zerovox adalah Apache 2 berlisensi dengan banyak bagian yang dimanfaatkan dari proyek lain (lihat bagian Kredit di bawah) di bawah lisensi MIT.
Harap dicatat: Model masih dalam tahap alfa dan masih berlatih.
https://huggingface.co/spaces/goooofy/zerovox-demo
Statistik Corpus Pelatihan Zerovox Saat Ini:
german audio corpus: 16679 speakers, 475.3 hours audio
english audio corpus: 19899 speakers, 358.7 hours audio
(1/5) Siapkan Corpus Yamls:
pushd configs/corpora/cv_de_100
./gen_cv.sh
popd
(2/5) Siapkan penyelarasan:
utils/prepare_align.py configs/corpora/cv_de_100
(3/5) OOVS:
utils/oovtool.py -a -m zerovox-g2p-autoreg-zamia-de configs/corpora/cv_de_100
(4/5) Sejajarkan:
utils/align.py --kaldi-model=tts_de_kaldi_zamia_4 configs/corpora/cv_de_100
(5/5) Preprocess:
utils/preprocess.py configs/corpora/cv_de_100
utils/train_tts.py
--head=2 --reduction=1 --expansion=2 --kernel-size=5 --n-blocks=3 --block-depth=3
--accelerator=gpu --threads=24 --batch-size=32 --val_epochs=8
--infer-device=cpu
--lr=0.0001 --warmup_epochs=25
--hifigan-checkpoint=VCTK_V2
--out-folder=models/tts_de_zerovox_base_1
configs/corpora/cv_de_100
configs/corpora/de_hui/de_hui_*.yaml
configs/corpora/de_thorsten.yaml
utils/train_kaldi.py --model-name=tts_de_kaldi_zamia_4 --num-jobs=12 configs/corpora/cv_de_100
Jalankan pelatihan:
scripts/train_g2p_de_autoreg.sh
Awalnya berdasarkan Efficientspeech oleh Rowel Atienza
https://github.com/roatienza/efficientspeech
@inproceedings{atienza2023efficientspeech,
title={EfficientSpeech: An On-Device Text to Speech Model},
author={Atienza, Rowel},
booktitle={ICASSP 2023-2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
pages={1--5},
year={2023},
organization={IEEE}
}
Encoder dan decoder FastSpeech2 dipinjam (di bawah lisensi MIT) dari implementasi Chung-Ming Chien tentang FastSpeech2
https://github.com/ming024/fastspeech2
@misc{ren2022fastspeech2fasthighquality,
title={FastSpeech 2: Fast and High-Quality End-to-End Text to Speech},
author={Yi Ren and Chenxu Hu and Xu Tan and Tao Qin and Sheng Zhao and Zhou Zhao and Tie-Yan Liu},
year={2022},
eprint={2006.04558},
archivePrefix={arXiv},
primaryClass={eess.AS},
url={https://arxiv.org/abs/2006.04558},
}
Implementasi Decoder MEL dipinjam (di bawah lisensi MIT) dari Proyek Parallelwavegan Tomoki Hayashi:
https://github.com/kan-bayashi/parallelwavegan Model transformator G2P didasarkan pada deepphonemizer oleh Axel Springer News Media & Tech Gmbh & Co. KG - Rekayasa Ide (Lisensi MIT)
https://github.com/as-ideas/deepephonemizer
@inproceedings{Yolchuyeva_2019, series={interspeech_2019},
title={Transformer Based Grapheme-to-Phoneme Conversion},
url={http://dx.doi.org/10.21437/Interspeech.2019-1954},
DOI={10.21437/interspeech.2019-1954},
booktitle={Interspeech 2019},
publisher={ISCA},
author={Yolchuyeva, Sevinj and Németh, Géza and Gyires-Tóth, Bálint},
year={2019},
month=sep, pages={2095–2099},
collection={interspeech_2019} }
Pengkodean speaker berbasis resnet Zeroshot dipinjam (di bawah lisensi MIT) dari voxceleb_trainer oleh Clova Ai Research
https://github.com/clovaai/voxceleb_trainer
@inproceedings{chung2020in,
title={In defence of metric learning for speaker recognition},
author={Chung, Joon Son and Huh, Jaesung and Mun, Seongkyu and Lee, Minjae and Heo, Hee Soo and Choe, Soyeon and Ham, Chiheon and Jung, Sunghwan and Lee, Bong-Jin and Han, Icksang},
booktitle={Proc. Interspeech},
year={2020}
}
@inproceedings{he2016deep,
title={Deep residual learning for image recognition},
author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition},
pages={770--778},
year={2016}
}
Embedding speaker berbasis token Global Zeroshot didasarkan pada GST-Tacotron oleh Chengqi Deng (Lisensi MIT)
https://github.com/kinglittleq/gst-tacotron
yang merupakan implementasi dari
@misc{wang2018style,
title={Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synthesis},
author={Yuxuan Wang and Daisy Stanton and Yu Zhang and RJ Skerry-Ryan and Eric Battenberg and Joel Shor and Ying Xiao and Fei Ren and Ye Jia and Rif A. Saurous},
year={2018},
eprint={1803.09017},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Pembicara bersyarat normalisasi lapisan (scln) yang dipinjam (di bawah lisensi mit) dari
https://github.com/keonlee9420/cross-sheat-emotion-transfer oleh keon lee
@misc{wu2021crossspeakeremotiontransferbased,
title={Cross-speaker Emotion Transfer Based on Speaker Condition Layer Normalization and Semi-Supervised Training in Text-To-Speech},
author={Pengfei Wu and Junjie Pan and Chenchang Xu and Junhui Zhang and Lin Wu and Xiang Yin and Zejun Ma},
year={2021},
eprint={2110.04153},
archivePrefix={arXiv},
primaryClass={eess.AS},
url={https://arxiv.org/abs/2110.04153},
}