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).