You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

whisper-chuvash-medium

Whisper fine-tuned for Chuvash (chv) — the mid-size model of the family in the Aisar family by SpeechCollector. The family was trained on ChuvashAsrDataset (~49.5 h of labeled Chuvash speech) and evaluated on its Common Voice test split (1,288 utterances).

  • Base model: openai/whisper-medium (769M parameters)
  • WER / CER (orthographic, beam-5): 17.28% / 3.83%
  • WER / CER (Whisper-normalized): 12.36% / 2.98%
  • Checkpoint size: ~1.5 GB
  • Inference speed: ~3.3x real time (estimate)

The Aisar family

Model Base Params WER CER WER (norm.)
whisper-chuvash-small openai/whisper-small 244M 20.3% 5.35% 15.4%
whisper-chuvash-medium openai/whisper-medium 769M 17.28% 3.83% 12.36%
whisper-chuvash-turbo bond005/whisper-podlodka-turbo 809M 16.02% 3.63% 11.13%

Orthographic = text compared as-is, with casing and punctuation. Normalized = same beam-5 run scored after Whisper-style normalization (lowercase, ё→е, punctuation stripped). Speed estimates for small/medium are derived from OpenAI's official relative speeds (small ~4x, medium ~2x, turbo ~8x vs large) anchored to the measured turbo RTF.

How to use

Chuvash has no language token in the Whisper vocabulary, so generation uses language="russian" — this is intentional and gives the best results. The numbers above were obtained with beam-5; num_beams=1 is 1.7x faster at a small quality cost (+0.3 pp normalized WER for turbo).

import torch
from transformers import pipeline

asr = pipeline(
    "automatic-speech-recognition",
    model="SpeechCollector/whisper-chuvash-medium",
    torch_dtype=torch.float16,   # use torch.float32 on CPU
    device="cuda:0",             # or "cpu"
    chunk_length_s=30,           # handles audio longer than 30 s
    stride_length_s=(5, 5),
)

out = asr(
    "speech.wav",  # any sample rate — the pipeline resamples to 16 kHz
    generate_kwargs={
        "language": "russian",
        "task": "transcribe",
        "num_beams": 5,
    },
)
print(out["text"])

For long spontaneous audio (conversations, broadcast), add a temperature fallback to generate_kwargs — it tames repetition loops on hard segments:

"temperature": (0.0, 0.2, 0.4, 0.6, 0.8, 1.0),
"compression_ratio_threshold": 2.4,
"logprob_threshold": -1.0,
"no_speech_threshold": 0.6,

Training data

ChuvashAsrDataset: 36,781 utterances / ~49.5 h, 16 kHz mono. Sources: alexantonov/chuvash_voice (38.7 h, CC0), Common Voice 25.0 (5.6 h, CC0), ftyers Turkic_TTS (5.2 h, CC-BY-SA). Splits: train 34,251 / val 1,242 / test 1,288 — validation and test contain Common Voice recordings only.

Limitations

  • Evaluated on read speech (Common Voice); expect higher error rates on spontaneous or noisy audio.
  • Fine-tuned almost exclusively on monolingual Chuvash, so the model performs best on Chuvash-dominant audio and degrades on Chuvash–Russian code-switched speech. Bilingual fine-tuning is a natural next step.
  • Output is orthographic Chuvash (Ó‘, Ó—, Ò«, Ó³); casing and punctuation come from the model and are not guaranteed.

License and acceptable use

  • License: CC BY-NC 4.0 — free for research and other non-commercial use.
  • Commercial use: possible under a separate agreement with the SpeechCollector community — reach out on Telegram: @Michaelya.
  • Surveillance: please do not use this model to build systems for surveillance, covert monitoring, or tracking of individuals.

Links

Downloads last month
-
Safetensors
Model size
0.8B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for SpeechCollector/whisper-chuvash-medium

Finetuned
(899)
this model

Dataset used to train SpeechCollector/whisper-chuvash-medium

Collection including SpeechCollector/whisper-chuvash-medium

Evaluation results