PolyWhisper is a family of tiny language-specific LoRA experts on a frozen Whisper-Base encoder. It tackles a problem vanilla Whisper-Base cannot even begin to solve:
producing correct-script text for Indian languages
.
The script-confusion finding
Vanilla Whisper-Base doesn't just perform worse on Indic languages — it emits the
wrong script entirely
(Urdu-Arabic for Telugu/Bengali/Marathi, 0–0.5% correct-script rate). The same encoder produces near-perfect Devanagari for Hindi but collapses to Arabic for the other Indic scripts.
Per-language LoRA experts on the shared frozen encoder fix this completely.
Vanilla scores for te/bn/mr are unreportable (0–0.5% correct-script output). Experts restore correct-script and cut CER 10–22 points. Residual WER is the 39M-parameter ceiling.
Files
Hinglish router
File
What
en_router_best_v5.pt
English LoRA expert (rank-8 decoder)
hi_router_best_v5.pt
Hindi LoRA expert with encoder LoRA
router_best_v5.pt
Per-token router (33K params)
hi_best_v5.pt
Hindi pure expert (encoder + decoder LoRA)
Indic experts
File
What
ta_best_ta.pt
Tamil expert (rank-16 decoder)
te_best_te_v2.pt
Telugu expert (rank-16 decoder)
bn_best_bn_v2.pt
Bengali expert (rank-16 decoder)
mr_best_mr.pt
Marathi expert (rank-16 decoder)
Evaluation
File
What
fleurs_normalized_results.json
Ortho-normalized scores for all 5 languages
eval_*_fleurs.json
Per-sample results (rescorable)
eval_*_samples.json
Per-sample Hinglish results
Usage (Indic expert example)
import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration
from peft import PeftModel
proc = WhisperProcessor.from_pretrained("openai/whisper-base")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-base")
model = PeftModel.from_pretrained(model, "eulogik/polywhisper", "ta_best_ta.pt")
model.eval()
audio = ... # 16kHz mono
feats = proc.feature_extractor([audio], sampling_rate=16000, return_tensors="pt").input_features
out = model.generate(feats, max_new_tokens=256, language="ta", task="transcribe")
print(proc.decode(out[0], skip_special_tokens=True))
Training
3 epochs, LR 1e-4, rank-16 LoRA on decoder cross-attention K/V
Training time: ~3h per language, fully automated (
train_v3.py --langs ta
)
Key finding for the paper
Language-specific LoRA experts on a shared frozen encoder fix Whisper-Base's script-confusion problem for 5 Indian languages. Vanilla outputs Urdu-Arabic for Telugu/Bengali/Marathi (0% correct-script); experts restore 77–100% correct-script output. Hindi expert reaches 38.5% WER / 14.4% CER — near-usable for edge deployment.
polywhisper huggingface.co is an AI model on huggingface.co that provides polywhisper's model effect (), which can be used instantly with this eulogik polywhisper model. huggingface.co supports a free trial of the polywhisper model, and also provides paid use of the polywhisper. Support call polywhisper model through api, including Node.js, Python, http.
polywhisper huggingface.co is an online trial and call api platform, which integrates polywhisper's modeling effects, including api services, and provides a free online trial of polywhisper, you can try polywhisper online for free by clicking the link below.
eulogik polywhisper online free url in huggingface.co:
polywhisper is an open source model from GitHub that offers a free installation service, and any user can find polywhisper on GitHub to install. At the same time, huggingface.co provides the effect of polywhisper install, users can directly use polywhisper installed effect in huggingface.co for debugging and trial. It also supports api for free installation.