Automatic Speech Recognition
Transformers
Safetensors
Russian
wav2vec2
speech
russian
children
ctc
forced-alignment
pronunciation
phonetics
Instructions to use dysata/Wav2Vec2-Ru-Child with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use dysata/Wav2Vec2-Ru-Child with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="dysata/Wav2Vec2-Ru-Child", device_map="auto")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("dysata/Wav2Vec2-Ru-Child") model = AutoModelForCTC.from_pretrained("dysata/Wav2Vec2-Ru-Child", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: | |
| - ru | |
| license: mit | |
| library_name: transformers | |
| pipeline_tag: automatic-speech-recognition | |
| tags: | |
| - wav2vec2 | |
| - speech | |
| - russian | |
| - children | |
| - ctc | |
| - forced-alignment | |
| - pronunciation | |
| - phonetics | |
| datasets: | |
| - dysata/rwords | |
| model-index: | |
| - name: Wav2Vec2-Ru-Child | |
| results: [] | |
| # Wav2Vec2-Ru-Child | |
| Модель автоматического распознавания речи (ASR) для русского языка, дообученная на записях детского чтения. | |
| ## Model Details | |
| ### Architecture | |
| - **Base model:** wav2vec2-large | |
| - **Architecture:** `Wav2Vec2ForCTC` | |
| - **Hidden size:** 1024 | |
| - **Layers:** 24 transformer layers | |
| - **Attention heads:** 16 | |
| - **Parameters:** ~317M | |
| - **Vocabulary:** 37 токенов (33 буквы русского алфавита + 4 служебных) | |
| - **CTC loss:** mean reduction | |
| ### Intended Use | |
| Модель предназначена для: | |
| - Распознавания русской детской речи | |
| - Forced alignment (выравнивание текста по аудио на уровне букв) | |
| - Анализа произношения — выявление ошибок в детском чтении | |
| - Классификации качества произношения отдельных звуков (например, звука "Р") | |
| ## How to Use | |
| ### Speech Recognition | |
| ```python | |
| import torch | |
| import librosa | |
| from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC | |
| processor = Wav2Vec2Processor.from_pretrained("dysata/Wav2Vec2-Ru-Child") | |
| model = Wav2Vec2ForCTC.from_pretrained("dysata/Wav2Vec2-Ru-Child") | |
| audio, sr = librosa.load("audio.wav", sr=16000) | |
| processed = processor([audio], sampling_rate=16000, | |
| return_tensors="pt", padding="longest") | |
| with torch.no_grad(): | |
| logits = model(processed.input_values, | |
| attention_mask=processed.attention_mask).logits | |
| predicted_ids = torch.argmax(logits, dim=-1) | |
| transcription = processor.decode(predicted_ids[0]) | |
| print(transcription) | |
| ``` | |
| ### Forced Alignment | |
| Модель может использоваться для побуквенного выравнивания эталонного текста по аудио через CTC forced alignment (trellis + backtrack + merge_repeats). Это позволяет определить временные границы каждой буквы в записи. | |
| ### Hidden States для классификации | |
| ```python | |
| with torch.no_grad(): | |
| outputs = model(processed.input_values, | |
| attention_mask=processed.attention_mask, | |
| output_hidden_states=True, return_dict=True) | |
| last_hidden_state = outputs.hidden_states[-1] # [batch, frames, 1024] | |
| ``` | |
| Вектора последнего скрытого слоя (1024-мерные) могут быть использованы как признаки для классификации качества произношения отдельных звуков. | |
| ## Training | |
| Модель дообучена на записях детского чтения на русском языке. Аудиозаписи преобразованы в формат WAV 16 кГц и вручную оттранскрибированы. | |
| ## Technical Specifications | |
| | Parameter | Value | | |
| |---|---| | |
| | Sample rate | 16 kHz | | |
| | Feature extractor | 7-layer CNN | | |
| | Transformer layers | 24 | | |
| | Hidden size | 1024 | | |
| | Vocab size | 37 | | |
| | Precision | float32 | | |
| | Format | Safetensors | | |
| ## Vocabulary | |
| Алфавит модели: `<pad>`, `<s>`, `</s>`, `<unk>`, `|` (разделитель слов), а-я (33 буквы русского алфавита). | |
| ## Limitations | |
| - Модель обучена на детской речи и может показывать худшие результаты на взрослой речи | |
| - Только русский язык | |
| - Оптимальное качество на записях в формате WAV 16 кГц | |
| ## Citation | |
| ```bibtex | |
| @misc{wav2vec2-ru-child, | |
| author = {Павел Рудич}, | |
| title = {Wav2Vec2-Ru-Child: Russian Children's Speech Recognition Model}, | |
| year = {2025}, | |
| publisher = {Hugging Face}, | |
| url = {https://huggingface.co/dysata/Wav2Vec2-Ru-Child} | |
| } | |
| ``` | |
| ## Funding | |
| Фонд содействия инновациям (fasie). | |