Views
No views yet
openai/whisper-medium
(all 763M parameters) on the kirandevraj/supreme-court-hearings-asr
dataset — 46.9 h of Indian Supreme Court hearing audio, sentence-aligned by a best-of-both
(MMS-CTC + Whisper) forced-alignment pipeline.BasicTextNormalizer applied to both sides; WER/CER via jiwer. Trained on the
by-case train split (24,422 clips); both eval sets are held out (the gold hearing is never
trained on). Best checkpoint selected by validation WER.| Eval set | Model | WER | CER |
|---|---|---|---|
| Held-out test (3,799) | whisper-medium · zero-shot | 12.6 | 7.2 |
| Held-out test (3,799) | whisper-medium · fine-tuned (this) | 9.2 | 5.2 |
| Human-verified gold (109) | whisper-medium · zero-shot | 25.0 | 18.1 |
| Human-verified gold (109) | whisper-medium · fine-tuned (this) | 14.6 | 10.3 |
openai/whisper-medium (769M), full fine-tune (no LoRA)1e-5, 50-step warmup, bf16, gradient checkpointing1import torch
2from transformers import pipeline
3
4asr = pipeline(
5 "automatic-speech-recognition",
6 model="kirandevraj/whisper-medium-supreme-court-hybrid",
7 torch_dtype=torch.float16,
8 device=0, # GPU; use -1 for CPU
9)
10out = asr("hearing_clip.wav", generate_kwargs={"language": "en", "task": "transcribe"})
11print(out["text"])1import torch, soundfile as sf
2from transformers import WhisperForConditionalGeneration, WhisperProcessor
3
4repo = "kirandevraj/whisper-medium-supreme-court-hybrid"
5proc = WhisperProcessor.from_pretrained(repo)
6model = WhisperForConditionalGeneration.from_pretrained(repo, torch_dtype=torch.float16).to("cuda").eval()
7
8audio, sr = sf.read("hearing_clip.wav") # 16 kHz mono
9feats = proc(audio, sampling_rate=16000, return_tensors="pt").input_features.to("cuda", torch.float16)
10ids = model.generate(feats, language="en", task="transcribe")
11print(proc.batch_decode(ids, skip_special_tokens=True)[0])