? Reconocimiento y síntesis de voz para ucraniano
Descripción general
Este repositorio recopila enlaces a modelos, conjuntos de datos y herramientas para proyectos ucranianos de voz a texto y texto a voz .
Comunidad
- Discord : https://bit.ly/discord-uds
- Reconocimiento de voz: https://t.me/speech_recognition_uk
- Síntesis del habla: https://t.me/speech_synthesis_uk
? Voz a texto
? Implementación
wav2vec2-bert
- Parámetros de 600m: https://huggingface.co/yehor/w2v-bert-2.0-uk-v2 (demo: https://huggingface.co/spaces/yehor/w2v-bert-2.0-uk-v2-demo)
WAV2VEC2
- 1B Params (con modelo de idioma basado en una pequeña porción de datos): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-lm
- 1B Params (con modelo de idioma basado en textos de noticias): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-news-lm
- 1B Params (con modelo de lenguaje binario basado en textos de noticias): https://huggingface.co/yehor/wav2vec2-xls-r-1b-uk-with-binary-news-lm
- 1B Params (con modelo de idioma: Oscar): https://huggingface.co/arampacha/wav2vec2-xls-r-r-1b-uk
- 1B Params (con modelo de idioma: Oscar): https://huggingface.co/arampacha/wav2vec2-xls-r-1b-uk-cv
- Parámetros de 300m (con modelo de idioma basado en una pequeña porción de datos): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-lm
- Parámetros de 300m (pero sin modelo de idioma): https://huggingface.co/robinhad/wav2vec2-xls-r-300m-uk
- Parámetros de 300m (con modelo de idioma basado en una pequeña porción de datos): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-small-lm
- Parámetros de 300m (con modelo de idioma basado en una pequeña porción de datos) y datos sin problemas: https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-small-lm-novio
- 300m Params (con modelo de idioma basado en textos de noticias): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-news-lm
- Parámetros de 300m (con modelo de idioma basado en textos de Wikipedia): https://huggingface.co/yehor/wav2vec2-xls-r-300m-uk-with-wiki-lm
- Parámetros de 90m (con modelo de idioma basado en una pequeña porción de datos): https://huggingface.co/yehor/wav2vec2-xls-r-base-uk-with-small-lm
- Parámetros de 90m (con modelo de idioma basado en una pequeña porción de datos): https://huggingface.co/yehor/wav2vec2-xls-r-base-uk-with-cv-lm
- Modelo ONNX (modelos de 1b y 300m): https://github.com/egorsmkv/ukrainian-onnx-model
Puede consultar las demostraciones aquí: 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
Simulador
Squeezeformer-ctc ml: https://huggingface.co/theodotus/stt_uk_squeezeformer_ctc_ml
- Demostración 1: https://huggingface.co/spaces/theodotus/streaming-asr-uk
- Demostración 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
Conformador-CTC
Vosk
- Vosk V3 nano (con gráfico dinámico): https://drive.google.com/file/d/1pwlxmtz7sppm1dthbpm3u66nh6-dsb1n/view?usp= Sharing (73 mb)
- Vosk V3 Small (con gráfico dinámico): https://drive.google.com/file/d/1zkambkw2hfplbmmpq2ar04-i7nhyjqtd/view?usp=sharing (133 mb)
- Vosk V3 (con 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/17umtgquvvwyuicjxet1oz3kwnfywpjw2/view?usp=shaing (343 mb)
- Vosk v2: https://drive.google.com/file/d/1mdln3jwue8bpcr9a0irer-icc1wipgzs/view?usp=shaing (339 mb, código de demostración: https://github.com/egorsmkv/vosk-ukrainian-demo)
- Vosk v1: https://drive.google.com/file/d/1nzpxrd4gtdi0yvxcfyzqtkktw_tpzqfk/view?usp=shaing (87 mb, un modelo antiguo con datos menos entrenados)
Nota : Los modelos VOSK tienen licencia bajo la licencia APACHE 2.0 .
Punto de vista profundo
- Deepspeech utilizando el aprendizaje de transferencia del modelo inglés: https://github.com/robinhad/voice-recognition-ua
- V0.5: https://github.com/robinhad/voice-recognition-ua/releases/tag/v0.5 (más 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/spaechbrain/m-ctc-t-large
susurro
- Susurro oficial: https://github.com/openai/whisper
- Whisper (pequeño, aturdido para ucraniano): https://github.com/egorsmkv/whisper-ukrainian
- Whisper (grande, atañado 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
Flash
- Conformador de linterna: https://github.com/egorsmkv/flashlight-ukrainian
Puntos de referencia
Este punto de referencia utiliza la división de prueba de Voice 10 Common.
wav2vec2-bert
| Modelo | Feroz | Cer | Exactitud, % | Wer +lm | Cer +lm | Precisión +lm , % |
|---|
| Yehor/W2V-Bert-2.0-UK | 0.0727 | 0.0151 | 92.73% | 0.0655 | 0.0139 | 93.45% |
wav2vec2
| Modelo | Feroz | Cer | Exactitud, % | Wer +lm | Cer +lm | Precisión +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-binary-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-base-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 se usa como LM
| Modelo | Feroz | Cer | Exactitud, % | Wer +lm | Cer +lm | Precisión +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 | Feroz | Cer | Exactitud, % |
|---|
| Theodotus/stt_uk_contextnet_512 | 0.0669 | 0.0145 | 93.31% |
FastConformer P&C
Este modelo admite la puntuación y la capitalización del texto
| Modelo | Feroz | Cer | Exactitud, % | Wer +P&C | CER +P&C | Precisión +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 se usa como LM
| Modelo | Feroz | Cer | Exactitud, % | Wer +lm | Cer +lm | Precisión +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 se usa como LM
| Modelo | Feroz | Cer | Exactitud, % | Wer +lm | Cer +lm | Precisión +lm , % |
|---|
| Conformador de la linterna | 0.1915 | 0.0244 | 80.85% | 0.0907 | 0.0198 | 90.93% |
data2vec
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| Robinhad/data2vec-Large-UK | 0.3117 | 0.0731 | 68.83% |
VOSK
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| v3 | 0.5325 | 0.3878 | 46.75% |
m-ctc-t
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| Speechrain/M-CTC-T-Large | 0.57 | 0.1094 | 43% |
whisper
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| diminuto | 0.6308 | 0.1859 | 36.92% |
| base | 0.521 | 0.1408 | 47.9% |
| pequeño | 0.3057 | 0.0764 | 69.43% |
| medio | 0.1873 | 0.044 | 81.27% |
| grande (v1) | 0.1642 | 0.0393 | 83.58% |
| grande (v2) | 0.1372 | 0.0318 | 86.28% |
Versión ajustada para ucraniano:
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| pequeño | 0.2704 | 0.0565 | 72.96% |
| grande | 0.2482 | 0.055 | 75.18% |
Si desea ajustar un modelo Whisper en datos propios, use este repositorio: https://github.com/egorsmkv/whisper-ukrainian
DeepSpeech
| Modelo | Feroz | Cer | Exactitud, % |
|---|
| V0.5 | 0.7025 | 0.2009 | 29.75% |
Desarrollo
- Cómo capacitar el modelo propio usando Kaldi (en ruso): https://github.com/egorsmkv/speech-recognition-uk/blob/master/vosk-model-creation/instruction.md
- Cómo capacitar a un modelo Kenlm basado en datos de Wikipedia ucranianos: https://github.com/egorsmkv/ukwiki-kenlm
- Exportar una versión JIT trazada de los modelos WAV2VEC2: https://github.com/egorsmkv/wav2vec2-jit
Conjuntos de datos
Conjunto de datos compilado de diferentes fuentes abiertas + empresas + comunidad = 188.31GB / ~ 1200 horas?
- Almacenamiento compartido alimentado por NextCloud: https://nx16725.your-storageshare.de/s/cabcbextdz7zndn (use wget para descargar, descargar en un navegador tiene limitaciones de velocidad)
- Archivo torrent: https://academictorrents.com/details/fcf8bb60c59e9eb583df003d54ed61776650beb8 (188.31 GB)
Voice of America (398 horas)
- Actualidad de almacenamiento alimentado por NextCloud: https://nx16725.Your-storeshare.de/s/f4nyhxdew2ykzka
Flores
- 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
- Mozilla Common Voice tiene el conjunto de datos ucraniano: https://commonvoice.mozilla.org/uk/datasets
- M-ailabs Corpus ucraniano ucraniano: http://www.caito.de/data/training/stt_tts/uk_uk.tgz
- Subconjunto de TV de espeso: https://blog.gdeltproject.org/visual-explorer-quick-workflow-for-downloading-belarusian-russian-ukrainian-transcripts-translations/
Podcasts ucranianos
- https://huggingface.co/datasets/taras-sereda/uk-pods
Cleaned Common Voice 10 (conjunto de pruebas)
- Repositorio: https://github.com/egorsmkv/cv10-uk-testset-clan
Voz común sin rango 10
- Transcripciones: https://www.dropbox.com/s/ohj3y2cq8f4207a/transcriptions.zip?dl=0
- Archivos de audio: https://www.dropbox.com/s/v8crgclt9opbrv1/data.zip?dl=0
Comunidad
- Repositorio de Voxforge: http://www.repository.voxforge1.org/downloads/uk/trunk/
Otro
- ASR Corpus creado usando un bot de telegrama para ucraniano: https://github.com/egorsmkv/asr-tg-bot-Corpus
- Conjunto de datos de discurso con ucraniano: https://www.caito.de/2019/01/the-m-ilabs-spaech-dataset/
Obras relacionadas
Modelos de idiomas
- LMS ucraniano: https://huggingface.co/yehor/kenlm-ukrainian
Normalización de texto inverso:
- WFST para la normalización de texto inverso ucraniano: https://github.com/lociko/ukraine_itn_wfst
Mejora del texto
- Modelo de puntuación y capitalización: https://huggingface.co/dchaplinsky/punctuation_uk_bert (demo: https://huggingface.co/spaces/yehor/punctuation-uk)
Alineadores
- Alineador para modelos WAV2VEC2-Bert: https://github.com/egorsmkv/w2v2-bert-aligner
- Alineador basado en Whisper más rápido (principalmente para TTS): https://github.com/patriotyk/narizaka
- Alineador basado en Kaldi: https://github.com/proger/uk
? Texto a voz
Prueba de la oración con tensiones:
К+ам'ян+ець-Под+ільський - м+істо в Хмельн+ицькій +області Укра+їни, ц+ентр Кам'ян+ець-Под+ільської міськ+ої об'+єднаної територі+альної гром+ади +і Кам'ян+ець-Под+ільського рай+ону.
Sin estrés:
Кам'янець-Подільський - місто в Хмельницькій області України, центр Кам'янець-Подільської міської об'єднаної територіальної громади і Кам'янець-Подільського району.
? Implementación
Styletts2
- Styletts2 demo y el código
P-flujo TTS
audio.mp4
TT-TTS
- Rad-Tts, la voz "Lada"
- Rad-Tts con tres voces, Voces de Lada, Tetiana y Mykyta
demo.mp4
Coqui TTS
V1.0.0 Uso del conjunto de datos M-Ailabs: https://github.com/robinhad/ukrainian-tts/releases/tag/v1.0.0 (200,000 pasos)
v2.0.0 usando el conjunto de datos Mykyta/Olena: https://github.com/robinhad/ukrainian-tts/releases/tag/v2.0.0 (140,000 pasos)
tts_output.mp4
TTS de neón
- Modelo Coqui TTS implementado en el complemento Neon Coqui TTS Python. Una demostración interactiva está disponible en Huggingface. Este modelo y otros se pueden descargar desde Huggingface y se puede encontrar más información en Neon.ai
neon_tts.mp4
Fastpitch
- Nvidia Fastpitch: https://huggingface.co/theodotus/tts_uk_fastpitch
Balacoon TTS
- Balacoon TTS, Voces de Lada, Tetiana y Mykyta. Publicación de blog sobre el lanzamiento del modelo.
balacoon_tts.mp4
Conjuntos de datos
- Abra las voces de texto a voz para? Ucraniano : https://huggingface.co/datasets/yehor/opentts-uk
- Voz "Lada", mujer
- Voz "tetiana", mujer
- Voz "Kateryna", mujer
- Voz "mykyta", hombre
- Voz "oleksa", hombre
Obras relacionadas
Acento
- https://github.com/neonbohdan/ukrainian-accentor-transformer
- https://github.com/lang-uk/ukrainian-sress
- https://github.com/egorsmkv/ukrainian-accentor
Maga
- Herramienta para hacer un cuerpo de texto de alta calidad a Speech (TTS) desde audio + libros de texto: https://github.com/patriotyk/narizaka
- Un modelo para hacer normalización de texto: https://huggingface.co/skypro1111/mbart-large-50-verbalization