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
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 для классификации
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
@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).
- Downloads last month
- 388