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")# 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
File size: 4,351 Bytes
6a3e132 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | ---
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).
|