? Reconhecimento e síntese de fala para ucranianos
Visão geral
Este repositório coleta links para modelos, conjuntos de dados e ferramentas para projetos ucranianos de fala para texto e expressão de texto .
Comunidade
- Discord : https://bit.ly/discord-uds
- Reconhecimento da fala: https://t.me/speech_recognition_uk
- Síntese de fala: https://t.me/speech_synthesis_uk
? Fala para texto
? Implementações
wav2vec2-bert
- 600m Params: https://huggingface.co/yehor/w2v-bert-2.0-uk-v2 (demo: https://huggingface.co/spaces/yehor/w2v-bert-2.0-uk-dmo)
wav2vec2
- Params 1B (com modelo de linguagem baseado em uma pequena parte dos dados): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-lm
- Params 1b (com modelo de idioma baseado em textos de notícias): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-news-lm
- Params 1B (com modelo de linguagem binária baseada em textos de notícias): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-binary-news-lm
- Params 1b (com Modelo de Linguagem: Oscar): https://huggingface.co/arampacha/wav2vec2-xls-r-1b-uk
- Params 1B (com Modelo de Idioma: Oscar): https://huggingface.co/arampacha/wav2vec2-xls-r-1b-uk-cv
- 300m params (com modelo de idioma baseado em pequena parte dos dados): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-lm
- 300m params (mas sem modelo de idioma): https://huggingface.co/robinhad/wav2vec2-xls-r-300m-uk
- 300m params (com modelo de linguagem baseado em uma pequena parte dos dados): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-small-lm
- 300m params (com modelo de idioma baseado em uma pequena parte dos dados) e dados noeded: https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-small-lm-noisy
- 300m params (com modelo de idioma baseado em textos de notícias): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-news-lm
- 300m params (com modelo de linguagem baseado em textos da Wikipedia): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-wiki-lm
- Params 90M (com modelo de linguagem baseado em uma pequena parte dos dados): https://huggingface.co/yehor/wav2vec2-xls--base-uk-with-small-lm
- Params 90M (com modelo de linguagem baseado em pequena parte dos dados): https://huggingface.co/yehor/wav2vec2-xls-sbase-uk-with-cv-lm
- Modelo Onnx (modelos 1b e 300m): https://github.com/egorsmkv/ukrainian-onnx-model
Você pode verificar as demos aqui: https://github.com/egorsmkv/wav2vec2-uk-demo
data2vec
- Data2vec-Large: https://huggingface.co/robinhad/data2vec-large-uk
Citrinet
- NVIDIA Streaming Citrinet 1024 (Reino Unido): https://huggingface.co/nvidia/stt_uk_citrinet_1024_gamma_0_25
- NVIDIA Streaming Citrinet 512 (Reino Unido): https://huggingface.co/neongeckocom/stt_uk_citrinet_512_gamma_0_25
Contextnet
FastConformer
SqueezeFormer
SqueezeFormer-CTC ML: https://huggingface.co/theodotus/stt_uk_squeezeformer_ctc_ml
- Demo 1: https://huggingface.co/spaces/theodotus/streaming-asr-uk
- Demo 2: https://huggingface.co/spaces/theodotus/buffered-asr-uk
Squeezeformer-ctc sm: https://huggingface.co/theodotus/stt_uk_squeezeformer_ctc_sm
Squeezeformer-ctc xs: https://huggingface.co/theodotus/stt_uk_squeezeformer_ctc_xs
Conformer-ctc
Vosk
- Vosk v3 nano (com gráfico dinâmico): https://drive.google.com/file/d/1pwlxmtz7sppm1dthbpm3u66nh6-dsb1n/view?usp=Sharing (73 MB)
- Vosk v3 pequeno (com gráfico dinâmico): https://drive.google.com/file/d/1zkambkw2hfplbmmpq2ar04-i7nhyjqtd/view?usp=sharing (133 MB)
- Vosk v3 (com gráfico dinâmico): https://drive.google.com/file/d/12advn-ewfwejxlznvm0ob-utsnf7nj4q/view?usp=sharing (345 MB)
- Vosk v3: https://drive.google.com/file/d/17umtgquvwyuicjxet1oz3kwnfywpjw2/view?usp=sharing (343 MB)
- VOSK v2: https://drive.google.com/file/d/1MdlN3JWUe8bpCR9A0irEr-Icc1WiPgZs/view?usp=sharing (339 mb, demo code: https://github.com/egorsmkv/vosk-ukrainian-demo)
- Vosk v1: https://drive.google.com/file/d/1nzpxrd4gtdi0yvxcfyzqtkktw_tpzqfk/view?usp=Sharing (87 MB, um modelo antigo com dados menos treinados)
Nota : Os modelos VOSK são licenciados no Apache License 2.0 .
DeepSpeech
- DeepSpeech usando o aprendizado de transferência do modelo em inglês: https://github.com/robinhad/voice-recognition-ua
- v0.5: https://github.com/robinhad/voice-recognition-ua/releases/tag/v0.5 (mais de 1230 horas)
- v0.4: https://github.com/robinhad/voice-recognition-ua/releases/tag/v0.4 (1230 horas)
- v0.3: https://github.com/robinhad/voice-recognition-ua/releases/tag/v0.3 (751 horas)
M-CTC-T
- M-ctc-t--large: https://huggingface.co/speechbrain/m-ctc-t-large
sussurrar
- Whisper oficial: https://github.com/openai/whisper
- Whisper (pequeno, ajustado para ucraniano): https://github.com/egorsmkv/whisper-ukrainian
- Whisper (grande, ajustado para ucraniano): https://huggingface.co/arampacha/whisper-large-uk-2
- https://huggingface.co/mitchelldehaven/whisper-medium-uk
- https://huggingface.co/mitchelldehaven/whisper-large-v2-uk
Lanterna
- Lanterna Conformer: https://github.com/egorsmkv/flashlight-ukrainian
Benchmarks
Este benchmark usa a divisão de teste de voz comum 10.
wav2vec2-bert
| Modelo | Wer | Cer | Precisão, % | Wer +lm | Cer +lm | Precisão +lm , % |
|---|
| Yehor/w2v-bert-2.0-uk | 0,0727 | 0,0151 | 92,73% | 0,0655 | 0,0139 | 93,45% |
wav2vec2
| Modelo | Wer | Cer | Precisão, % | Wer +lm | Cer +lm | Precisão +lm , % |
|---|
| Yehor/wav2vec2-xls-r-1b-uk-with-lm | 0.1807 | 0,0317 | 81,93% | 0.1193 | 0,0218 | 88,07% |
| Yehor/wav2vec2-xls-r-1b-uk-with-binário-news-lm | 0.1807 | 0,0317 | 81,93% | 0,0997 | 0,0191 | 90,03% |
| Yehor/wav2vec2-xls-r-300m-uk-with-lm | 0,2906 | 0,0548 | 70,94% | 0,172 | 0,0355 | 82,8% |
| Yehor/wav2vec2-xls-r-300m-uk-with-news-lm | 0,2027 | 0,0365 | 79,73% | 0,0929 | 0,019 | 90,71% |
| Yehor/wav2vec2-xls-r-300m-uk-with-wiki-lm | 0,2027 | 0,0365 | 79,73% | 0.1045 | 0,0208 | 89,55% |
| Yehor/wav2vec2-xls-r-bashe-uk-with-small-lm | 0,4441 | 0,0975 | 55,59% | 0,2878 | 0,0711 | 71,22% |
| ROBINHAD/WAV2VEC2-XLS-R-300M-UK | 0,2736 | 0,0537 | 72,64% | - | - | - |
| Arampacha/wav2vec2-xls-r-1b-uk | 0,1652 | 0,0293 | 83,48% | 0,0945 | 0,0175 | 90,55% |
Citrinet
LM-4Gram-500K é usado como LM
| Modelo | Wer | Cer | Precisão, % | Wer +lm | Cer +lm | Precisão +lm , % |
|---|
| nvidia/stt_uk_citrinet_1024_gamma_0_25 | 0,0432 | 0,0094 | 95,68% | 0,0352 | 0,0079 | 96,48% |
| neongeckocom/stt_uk_citrinet_512_gamma_0_25 | 0,0746 | 0,016 | 92,54% | 0,0563 | 0,0128 | 94,37% |
ContextNet
| Modelo | Wer | Cer | Precisão, % |
|---|
| Theodotus/stt_uk_contextNet_512 | 0,0669 | 0,0145 | 93,31% |
FastConformer P&C
Este modelo suporta pontuação e capitalização de texto
| Modelo | Wer | Cer | Precisão, % | Wer +p & c | CER +P&C | Precisão +P&C , % |
|---|
| theodotus/stt_ua_fastConformer_hybrid_large_pc | 0,0400 | 0.0102 | 96,00% | 0,0710 | 0,0167 | 92,90% |
Squeezeformer
LM-4Gram-500K é usado como LM
| Modelo | Wer | Cer | Precisão, % | Wer +lm | Cer +lm | Precisão +lm , % |
|---|
| theodotus/stt_uk_squeezeformer_ctc_xs | 0,1078 | 0,0229 | 89,22% | 0,0777 | 0,0174 | 92,23% |
| theodotus/stt_uk_squeezeformer_ctc_sm | 0,082 | 0,0175 | 91,8% | 0,0605 | 0,0142 | 93,95% |
| theodotus/stt_uk_squeezeformer_ctc_ml | 0,0591 | 0,0126 | 94,09% | 0,0451 | 0.0105 | 95,49% |
Flashlight
LM-4Gram-500K é usado como LM
| Modelo | Wer | Cer | Precisão, % | Wer +lm | Cer +lm | Precisão +lm , % |
|---|
| Lanterna conformadora | 0.1915 | 0,0244 | 80,85% | 0,0907 | 0,0198 | 90,93% |
data2vec
| Modelo | Wer | Cer | Precisão, % |
|---|
| Robinhad/data2vec-Large-UK | 0.3117 | 0,0731 | 68,83% |
VOSK
| Modelo | Wer | Cer | Precisão, % |
|---|
| v3 | 0,5325 | 0,3878 | 46,75% |
m-ctc-t
| Modelo | Wer | Cer | Precisão, % |
|---|
| Speechbrain/M-CTC-T-Large | 0,57 | 0,1094 | 43% |
whisper
| Modelo | Wer | Cer | Precisão, % |
|---|
| pequeno | 0.6308 | 0,1859 | 36,92% |
| base | 0,521 | 0,1408 | 47,9% |
| pequeno | 0.3057 | 0,0764 | 69,43% |
| médio | 0,1873 | 0,044 | 81,27% |
| grande (v1) | 0,1642 | 0,0393 | 83,58% |
| grande (v2) | 0,1372 | 0,0318 | 86,28% |
Versão ajustada para o ucraniano:
| Modelo | Wer | Cer | Precisão, % |
|---|
| pequeno | 0,2704 | 0,0565 | 72,96% |
| grande | 0,2482 | 0,055 | 75,18% |
Se você deseja ajustar um modelo de sussurro nos dados próprios, use este repositório: https://github.com/egorsmkv/whisper-ukrainian
DeepSpeech
| Modelo | Wer | Cer | Precisão, % |
|---|
| v0.5 | 0,7025 | 0.2009 | 29,75% |
Desenvolvimento
- Como treinar o próprio modelo usando kaldi (em russo): https://github.com/egorsmkv/speech-recognition-uk/blob/master/vosk-model-creation/instruction.md
- Como treinar um modelo Kenlm baseado nos dados da Wikipedia ucraniana: https://github.com/egorsmkv/ukwiki-kenlm
- Exportar uma versão JIT rastreada dos modelos wav2vec2: https://github.com/egorsmkv/wav2vec2-jit
Conjuntos de dados
Conjunto de dados compilado de diferentes fontes abertas + empresas + comunidade = 188,31 GB / ~ 1200 horas?
- Compartilhamento de armazenamento alimentado pelo NextCloud: https://nx16725.your-storageshare.de/s/cabcbextdz7zndn (use wget para baixar, o download em um navegador tem limitações de velocidade)
- Arquivo Torrent: https://academictorrents.com/details/fcf8bb60c59e9eb583df003d54ed61776650BeB8 (188,31 GB)
Voice of America (398 horas)
- Compartilhamento de armazenamento alimentado pelo NextCloud: https://nx16725.your-storageshare.de/s/f4nyhxdew2ykzka
Fleurs
- Subconjunto ucraniano: https://huggingface.co/datasets/google/fleurs/viewer/uk_ua/train
Yodas2
- Subconjuntos ucranianos:
- https://huggingface.co/datasets/espnet/yodas2/tree/main/data/uk000
- https://huggingface.co/datasets/espnet/yodas2/tree/main/data/uk100
Empresas
- A voz comum do Mozilla tem o conjunto de dados ucranianos: https://commonvoice.mozilla.org/uk/datasets
- M-AALABS Corpus ucraniano ucraniano: http://www.caito.de/data/training/stt_tts/uk_uk.tgz
- Subconjunto de TV Espreso: https://blog.gdeltproject.org/visual-explorer-quick-workflow-for-downloading-belarusian-russian-ukrainian-transcripts-translations/
Podcasts ucranianos
- https://huggingface.co/datasets/taras-seneda/uk-muks
Voz comum limpa 10 (conjunto de testes)
- Repositório: https://github.com/egorsmkv/cv10-uk-testset-clean
Voz comum do semestre 10
- Transcrições: https://www.dropbox.com/s/ohj3y2cq8f4207a/transcriptions.zip?dl=0
- Arquivos de áudio: https://www.dropbox.com/s/v8crgclt9opbrv1/data.zip?dl=0
Comunidade
- Repositório Voxforge: http://www.repository.voxforge1.org/downloads/uk/trunk/
Outro
- ASR Corpus criado usando um bot de telegrama para ucraniano: https://github.com/egorsmkv/asr-tg-bot-corpus
- DataSet de fala com ucraniano: https://www.caito.de/2019/01/the-m-ailabs-speech-dataset/
Trabalhos relacionados
Modelos de idiomas
- LMS ucraniano: https://huggingface.co/yehor/kenlm-ukrainian
Normalização do texto inverso:
- WFST para normalização do texto inverso ucraniano: https://github.com/lociko/ukraine_itn_wfst
Aprimoramento do texto
- Modelo de Pontuação e Capitalização: https://huggingface.co/dchaplinsky/punctuation_uk_bert (Demo: https://huggingface.co/spaces/yehor/punction-uk)
Alinhadores
- Alinheiro para modelos wav2vec2-bert: https://github.com/egorsmkv/w2v2-bert-aligner
- Alinhador baseado em mais rápido (principalmente para TTS): https://github.com/patriotyk/narizaka
- Alinheiro baseado em kaldi: https://github.com/proger/uk
? Texto para fala
Sentença de teste com tensões:
К+ам'ян+ець-Под+ільський - м+істо в Хмельн+ицькій +області Укра+їни, ц+ентр Кам'ян+ець-Под+ільської міськ+ої об'+єднаної територі+альної гром+ади +і Кам'ян+ець-Под+ільського рай+ону.
Sem estresse:
Кам'янець-Подільський - місто в Хмельницькій області України, центр Кам'янець-Подільської міської об'єднаної територіальної громади і Кам'янець-Подільського району.
? Implementações
Styletts2
- Demo Styletts2 e o código
P-FLOW TTS
Audio.mp4
Rad-tts
- Rad-tts, a voz "lada"
- Rad-tts com três vozes, vozes de Lada, Tetiana e Mykyta
Demo.MP4
Coqui tts
v1.0.0 Usando o conjunto de dados M-Aailabs: https://github.com/robinhad/ukrainian-tts/releases/tag/v1.0.0 (200.000 etapas)
v2.0.0 Usando conjunto de dados Mykyta/Olena: https://github.com/robinhad/ukrainian-tts/releases/tag/v2.0.0 (140.000 etapas)
tts_output.mp4
Neon tts
- O modelo Coqui TTS implementado no plug -in de neon coqui tts python. Uma demonstração interativa está disponível no Huggingface. Este modelo e outros podem ser baixados do Huggingface e mais informações podem ser encontradas em neon.ai
neon_tts.mp4
Fastpitch
- Nvidia FastPitch: https://huggingface.co/theodotus/tts_uk_fastpitch
Balacoon TTS
- Balacoon TTS, Vozes de Lada, Tetiana e Mykyta. Postagem do blog sobre lançamento do modelo.
BALACOON_TTS.MP4
Conjuntos de dados
- Abrir vozes de texto para fala ?? Ucraniano : https://huggingface.co/datasets/yehor/opentts-uk
- Voz "Lada", mulher
- Voz "Tetiana", mulher
- Voz "Kateryna", mulher
- Voz "Mykyta", homem
- Voz "Oleksa", homem
Trabalhos relacionados
Acentuadores
- https://github.com/neonbohdan/ukrainian-accentor-transformer
- https://github.com/lang-uk/ukrainian-word-sfort
- https://github.com/egorsmkv/ukrainian-accentor
Misc
- Ferramenta para fazer texto de alta qualidade para a fala (TTS) corpus da Audio + Text Books: https://github.com/patriotyk/narizaka
- Um modelo a fazer normalização de texto: https://huggingface.co/skypro1111/mbart-large-50-verbalization