Automatic Speech Recognition
Transformers
Safetensors
Chuvash
whisper
chuvash
chv
speech-recognition
asr
Eval Results (legacy)
Instructions to use SpeechCollector/whisper-chuvash-turbo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SpeechCollector/whisper-chuvash-turbo with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="SpeechCollector/whisper-chuvash-turbo")# Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("SpeechCollector/whisper-chuvash-turbo") model = AutoModelForSpeechSeq2Seq.from_pretrained("SpeechCollector/whisper-chuvash-turbo", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: | |
| - cv | |
| license: cc-by-nc-4.0 | |
| library_name: transformers | |
| pipeline_tag: automatic-speech-recognition | |
| base_model: bond005/whisper-podlodka-turbo | |
| datasets: | |
| - SpeechCollector/ChuvashAsrDataset | |
| tags: | |
| - whisper | |
| - chuvash | |
| - chv | |
| - speech-recognition | |
| - asr | |
| metrics: | |
| - wer | |
| - cer | |
| model-index: | |
| - name: whisper-chuvash-turbo | |
| results: | |
| - task: | |
| type: automatic-speech-recognition | |
| name: Automatic Speech Recognition | |
| dataset: | |
| type: SpeechCollector/ChuvashAsrDataset | |
| name: ChuvashAsrDataset (Common Voice test split) | |
| split: test | |
| metrics: | |
| - type: wer | |
| value: 16.02 | |
| name: WER (orthographic, beam-5) | |
| - type: cer | |
| value: 3.63 | |
| name: CER (orthographic, beam-5) | |
| - type: wer | |
| value: 11.13 | |
| name: WER (Whisper-normalized, beam-5) | |
| # whisper-chuvash-turbo | |
| Whisper fine-tuned for **Chuvash** (`chv`) — the most accurate — and the fastest — model of the family in the **Aisar** | |
| family by [SpeechCollector](https://huggingface.co/SpeechCollector). The | |
| family was trained on [ChuvashAsrDataset](https://huggingface.co/datasets/SpeechCollector/ChuvashAsrDataset) | |
| (~49.5 h of labeled Chuvash speech) and evaluated on its Common Voice test | |
| split (1,288 utterances). | |
| - **Base model:** [bond005/whisper-podlodka-turbo](https://huggingface.co/bond005/whisper-podlodka-turbo) (809M parameters) | |
| - **WER / CER (orthographic, beam-5):** 16.02% / 3.63% | |
| - **WER / CER (Whisper-normalized):** 11.13% / 2.6% | |
| - **Checkpoint size:** ~1.6 GB | |
| - **Inference speed:** ~13x real time (measured, beam-5, V100 fp32; ~22x greedy) | |
| The model was initialized from [bond005/whisper-podlodka-turbo](https://huggingface.co/bond005/whisper-podlodka-turbo), | |
| a Russian-adapted large-v3-turbo. That starting point pays off for Chuvash, | |
| which carries many Russian loanwords. Despite being the largest model of the | |
| family by parameter count, it is also the fastest: large-v3-turbo keeps only | |
| 4 decoder layers. | |
| Beyond recognition, this model produced the pseudo-labels for the raw corpora | |
| ([ChuvashRaw](https://huggingface.co/datasets/SpeechCollector/ChuvashRaw), | |
| [ChuvashConversationRaw](https://huggingface.co/datasets/SpeechCollector/ChuvashConversationRaw), | |
| [ChuvashNewsRaw](https://huggingface.co/datasets/SpeechCollector/ChuvashNewsRaw) | |
| — about 1,080 hours in total). None of that data was used to train the models, | |
| so the evaluation is leak-free. | |
| ## The Aisar family | |
| | Model | Base | Params | WER | CER | WER (norm.) | | |
| |---|---|---|---|---|---| | |
| | [whisper-chuvash-small](https://huggingface.co/SpeechCollector/whisper-chuvash-small) | openai/whisper-small | 244M | 20.3% | 5.35% | 15.4% | | |
| | [whisper-chuvash-medium](https://huggingface.co/SpeechCollector/whisper-chuvash-medium) | openai/whisper-medium | 769M | 17.28% | 3.83% | 12.36% | | |
| | [whisper-chuvash-turbo](https://huggingface.co/SpeechCollector/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). | |
| ```python | |
| import torch | |
| from transformers import pipeline | |
| asr = pipeline( | |
| "automatic-speech-recognition", | |
| model="SpeechCollector/whisper-chuvash-turbo", | |
| 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: | |
| ```python | |
| "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](https://huggingface.co/datasets/SpeechCollector/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](https://creativecommons.org/licenses/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](https://t.me/Michaelya). | |
| - **Surveillance:** please do not use this model to build systems for surveillance, covert monitoring, or tracking of individuals. | |
| ## Links | |
| - Project website (ru / en / cv): https://chuvash-asr.vercel.app | |
| - Datasets and models: https://huggingface.co/SpeechCollector | |
| - Contact: [@Michaelya](https://t.me/Michaelya) | |
| - Paper: coming soon on arXiv | |