Downloads · 30 days
23
25% of all-time downloads
sandeepsawant28/whisper-small-konkani-v2
whisper-small-konkani-v2 is a machine learning model from sandeepsawant28. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft. The card lists the license as apache-2.0.
A LoRA (PEFT) fine-tuned adapter for openai/whisper-small, targeting automatic speech recognition (ASR) for Konkani, with an initial focus on agricultural speech and extended training on general Konkani speech and spo…
Downloads · 30 days
23
25% of all-time downloads
All-time downloads
93
Public
Repo size
7.1 MB
Likes
0
Public
Click a slice to open those files.
.safetensors7.1 MB · 64%
From the Hugging Face model README
A LoRA (PEFT) fine-tuned adapter for openai/whisper-small, targeting automatic speech recognition (ASR) for Konkani, with an initial focus on agricultural speech and extended training on general Konkani speech and spoken numbers (1–100).
openai/whisper-smalllanguage="mr" (Marathi) as the closest supported script/phonetic match, or with language auto-detectionVidyaapatiGU-Internship/ILCI_Agriculture_Speech_Corpus) — ~1,750 paired audio/transcript samples, ~1.7 hours of audio, agricultural domain, split 80/10/10 (train/val/test)ai4bharat/indicvoices_r, Konkani split) — broader general-domain Konkani speech, used to extend the initial adapter's coverage beyond agriculturePeftModel.from_pretrained, saved via PeftModel.save_pretrained — adapter-only checkpoints, not full Trainer checkpoints)| Metric | Value |
|---|---|
| Eval loss | 0.4633 |
| WER (validation) | 59.93% |
| CER (validation) | 23.73% |
| Training runtime | ~67 min (Colab T4) |
| WER (live test, 89 samples) | 76.18% |
Note: WER/CER remain relatively high, consistent with the low-resource nature of Konkani ASR and the limited training data volume. This adapter should be treated as an early-stage research checkpoint rather than a production-ready transcription system.
from transformers import WhisperForConditionalGeneration, WhisperProcessor
from peft import PeftModel
import torch, librosa
base_model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-small")
model = PeftModel.from_pretrained(base_model, "sandeepsawant28/whisper-small-konkani-v2")
model = model.to("cuda" if torch.cuda.is_available() else "cpu")
model.eval()
processor = WhisperProcessor.from_pretrained("openai/whisper-small")
audio, sr = librosa.load("your_audio.wav", sr=16000)
input_features = processor(audio, sampling_rate=16000, return_tensors="pt").input_features.to(model.device)
with torch.no_grad():
predicted_ids = model.generate(input_features, language="mr", task="transcribe")
print(processor.batch_decode(predicted_ids, skip_special_tokens=True)[0])
mr or auto-detect)Developed as part of the Vidyaapati Goa University Student Internship (VidyaapatiGU-Internship).