Zerovox es un sistema de texto a voz (TTS) creado para uso en tiempo real y integrado.
Zerovox se ejecuta completamente fuera de línea, asegurando la privacidad y la independencia de los servicios en la nube. Es completamente gratuito y de código abierto, invitando a las contribuciones y sugerencias de la comunidad.
Modelado después de FastSpeech2, Zerovox va un paso más allá con la clonación de altavoces de disparo cero, utilizando tokens de estilo global (GST) y la normalización de la capa condicional del altavoz (SCLN) para una incrustación efectiva de los altavoces. El sistema admite la generación del habla en inglés y alemán de un solo modelo, capacitado en un extenso conjunto de datos. Zerovox se basa en fonemas, aprovechando los diccionarios de pronunciación para garantizar una articulación precisa de las palabras, utilizando el diccionario CMU para inglés y un diccionario personalizado para alemán del proyecto Zamiaspeech, donde también se origina el conjunto de fonemas utilizado.
Zerovox puede servir como un backend de TTS para LLMS, habilitando interacciones en tiempo real y como un sistema TTS fácil de instalar para sistemas de automatización del hogar como el Asistente de inicio. Dado que no es autorregresivo, como FastSpeech2, su salida es generalmente fácil de controlar y predecible.
Licencia: Zerovox tiene una licencia de Apache 2 con muchas piezas apalancadas de otros proyectos (ver la sección de créditos a continuación) bajo la licencia MIT.
Tenga en cuenta: el modelo todavía está en el escenario alfa y todavía está entrenando.
https://huggingface.co/spaces/goooofy/zerovox-demo
Estadísticas actuales del Corpus de Entrenamiento Zerovox:
german audio corpus: 16679 speakers, 475.3 hours audio
english audio corpus: 19899 speakers, 358.7 hours audio
(1/5) Prepare el corpus yamls:
pushd configs/corpora/cv_de_100
./gen_cv.sh
popd
(2/5) Prepare la alineación:
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) Alinearse:
utils/align.py --kaldi-model=tts_de_kaldi_zamia_4 configs/corpora/cv_de_100
(5/5) Preproceso:
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
Entrenamiento de carrera:
scripts/train_g2p_de_autoreg.sh
Originalmente basado en eficientesPeech de Rowel Atienza
https://github.com/roatienza/eficientspeech
@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}
}
El codificador y el decodificador de FastSpeech2 se toma prestado (bajo la licencia MIT) de la implementación de Chung-Ming Chien de 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},
}
La implementación de Mel Decoder se toma prestada (bajo la licencia del MIT) del proyecto Parallelwavegan de Tomoki Hayashi:
https://github.com/kan-bayashi/parallelwavegan Los modelos de transformador G2P se basan en Deepphonemizer por Axel Springer News Media & Tech Gmbh & Co. KG - Ingeniería de ideas (licencia del MIT)
https://github.com/as-deas/depphonemizer
@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} }
La codificación del altavoz basada en Zeroshot Resnet se toma prestada (bajo la licencia MIT) de Voxceleb_trainer por 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}
}
La incrustación de altavoces de tokens de estilo Global de Zeroshot se basa en GST-Tacotron por Chengqi Deng (Licencia MIT)
https://github.com/kinglittleq/gst-tacotron
que es una implementación de
@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}
}
Normalización de la capa condicional del altavoz (SCLN) que se toma prestada (bajo la licencia MIT) de
https://github.com/keonlee9420/cross-speaker-emotion-pransfer de 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},
}