O ZeroVox é um sistema de texto para fala (TTS) criado para uso em tempo real e incorporado.
Zerovox fica totalmente offline, garantindo a privacidade e a independência dos serviços em nuvem. É totalmente gratuito e de código aberto, convidando contribuições e sugestões da comunidade.
Modelado após o FastSpeech2, o Zerovox vai um passo além com a clonagem do alto-falante zero, utilizando tokens de estilo global (GST) e normalização da camada condicional do alto-falante (SCLN) para incorporação eficaz do alto-falante. O sistema suporta a geração de fala em inglês e alemão de um único modelo, treinado em um conjunto de dados extenso. Zerovox é dicionários de pronúncia de alavancagem baseados em fonemas para garantir a articulação precisa das palavras, utilizando o dicionário da CMU para o inglês e um dicionário personalizado para o alemão do projeto Zamiaspeech, de onde também se origina o conjunto de fonemas usado.
O ZeroVox pode servir como um back-end do TTS para o LLMS, permitindo interações em tempo real e como um sistema TTS fácil de instalar para sistemas de automação residencial, como o Home Assistant. Como é não autorregressivo como o FastSpeech2, geralmente é fácil controlar e previsível.
Licença: o ZeroVox é o Apache 2 licenciado com muitas peças alavancadas em outros projetos (consulte a seção de créditos abaixo) sob licença do MIT.
Observação: o modelo ainda está no estágio alfa e ainda está treinando.
https://huggingface.co/spaces/gooooofy/zerovox-demo
Estatísticas atuais de corpus de treinamento Zerovox:
german audio corpus: 16679 speakers, 475.3 hours audio
english audio corpus: 19899 speakers, 358.7 hours audio
(1/5) Prepare o Corpus Yamls:
pushd configs/corpora/cv_de_100
./gen_cv.sh
popd
(2/5) Prepare o alinhamento:
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) alinhe:
utils/align.py --kaldi-model=tts_de_kaldi_zamia_4 configs/corpora/cv_de_100
(5/5) pré -processamento:
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
Executar treinamento:
scripts/train_g2p_de_autoreg.sh
Originalmente baseado em eficientspeech de Rowel Atienza
https://github.com/roatienza/efficientpeech
@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}
}
O codificador e decodificador FastSpeech2 são emprestados (sob licença do MIT) da implementação do FastSpeech2 de Chung-Ming Chien2
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},
}
A implementação do decodificador MEL é emprestada (sob licença do MIT) do Projeto Parallelwavegan de Tomoki Hayashi:
https://github.com/kan-bayashi/parallelywavegan Os modelos de transformadores G2P são baseados em Deepphonemizer pela Axel Springer News Media & Tech GmbH & Co. KG - Engenharia de idéias (MIT Licença)
https://github.com/as-ideas/deepphonemizer
@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} }
A codificação do alto -falante baseada em resnet zeroshot é emprestada (sob licença do MIT) da 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}
}
A incorporação do alto-falante baseado em tokens de estilo Zeroshot é baseado no GST-Tacotron por Chengqi Deng (MIT Licença)
https://github.com/kinglittleq/gst-tacotron
que é uma implementação 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}
}
Normalização da camada condicional do alto -falante (SCLN) que é emprestada (sob licença do MIT) da
https://github.com/keonlee9420/cross-speaker-emotion-transfer por 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},
}