GigaAM Bashkir ASR (Common Voice 25)
Character-level CTC automatic speech recognition model for Bashkir (Башҡорт теле).
The model was fine-tuned from the 220M-parameter
multilingual_ssl
self-supervised encoder of GigaAM Multilingual. A new 42-character Bashkir CTC
head was initialized and trained together with the encoder.
Training data
The model was trained only on Mozilla Common Voice Scripted Speech 25.0 — Bashkir (ba):
| Split | Clips | Hours |
|---|---|---|
| Train | 119,131 | 143.114 |
| Validation | 14,525 | 19.467 |
| Test | 14,572 | 19.885 |
Four prompts containing stray Latin OCR artifacts were excluded (two train and two validation). Common Voice data is released under CC0.
Results
| Split | Normalized raw WER |
|---|---|
| Common Voice 25 validation | 7.20% |
| Common Voice 25 test | 7.73% |
WER is computed after lowercasing and punctuation removal. The model is a raw character ASR and does not predict capitalization or punctuation; therefore end-to-end punctuated WER is not an applicable quality measure.
Usage
Install GigaAM and the Hugging Face Hub client:
pip install torch torchaudio huggingface_hub
pip install git+https://github.com/salute-developers/GigaAM.git@559d88d6b72541412743929f633a6ae7c9950b85
import gigaam
from huggingface_hub import hf_hub_download
checkpoint = hf_hub_download(
repo_id="AigizK/GigaAM-Bashkir-CV25",
filename="gigaam_bashkir_cv25.ckpt",
)
# CUDA is selected automatically when available. To force CPU, pass device="cpu".
model = gigaam.load_model(checkpoint)
# Audio up to 25 seconds; WAV, MP3, FLAC and other formats supported by GigaAM.
result = model.transcribe("bashkir_audio.wav")
print(result.text)
For a recording longer than 25 seconds, use GigaAM's VAD-based long-form method:
result = model.transcribe_longform("long_bashkir_audio.wav")
text = " ".join(segment.text for segment in result.segments)
print(text)
The model expects speech audio; GigaAM loads and converts the file to mono 16 kHz internally. The output is lowercase Bashkir text without punctuation.
Training configuration
- Base model:
multilingual_ssl(GigaAM Multilingual 220M) - Decoder: character-level CTC, 42 characters + blank
- Epochs: 30
- Optimizer steps: 223,380
- Effective batch size: 16 (
batch_size=8, accumulation 2) - Precision: BF16 mixed
- Peak learning rate:
3e-4 - Encoder frozen for epochs 0–2 and unfrozen from epoch 3
- SpecAugment and activation checkpointing enabled
- Source revision:
salute-developers/GigaAM@559d88d
See training_config.json, dataset_summary.json, and vocab.json for machine-readable details.
Limitations
- Trained and evaluated on read speech from Common Voice; conversational and noisy-domain quality may differ.
- Produces normalized lowercase text without punctuation.
- Greedy CTC decoding is used; no external language model is included.
License
Released under the MIT License, following the base GigaAM model. Commercial use, modification, redistribution, and private use are permitted. The copyright and license notice must be retained when redistributing the model.
Checkpoint SHA-256: 0c32a481ca51245e8cfedeb737d35d0cefc0a2e9d1caf83627b4b8ab17ef4a0d