--- license: cc-by-4.0 language: [bho] tags: [automatic-speech-recognition, onnx, onnx-asr, whisper, bhojpuri] base_model: Aditya109/whisper-small-bhojpuri-merged --- # whisper-small-bhojpuri-merged — ONNX ONNX export of [Aditya109/whisper-small-bhojpuri-merged](https://huggingface.co/Aditya109/whisper-small-bhojpuri-merged) (Whisper small fine-tuned for Bhojpuri by [Aditya109](https://huggingface.co/Aditya109)) for [onnx-asr](https://github.com/istupakov/onnx-asr) (standard `whisper` model type — works with stock onnx-asr, no patches needed). fp32 and int8 variants included. License: cc-by-4.0, inherited from the source model. First specialized ONNX ASR model for Bhojpuri in this collection. ## Usage Whisper has no dedicated `bho` language token; use `language="hi"` (Hindi, the closest supported Whisper token) — Bhojpuri behavior comes from the fine-tune itself. The tokenizer in this repo was not published separately; since `vocab_size` (51865) matches stock multilingual Whisper exactly, the standard `openai/whisper-small` tokenizer files are bundled here (vocab-size-verified). ```python import onnx_asr model = onnx_asr.load_model("whisper", "path/to/this/repo") # or quantization="int8" print(model.recognize("audio_16khz.wav", language="hi")) ``` Verified on a clip from [ai4bharat/Rural_Women_Bhojpuri](https://huggingface.co/datasets/ai4bharat/Rural_Women_Bhojpuri) (FLEURS does not cover Bhojpuri): - Reference: "किरपा करके हमरा डेबिट कार्ड से तिरानबे हजार रुपिया भेज दिही कार्ड नमर" - fp32 (RTF 0.66): "खिरपा करके हमरा डेवेट debit कार्ड card से तिरान तिरान बे हजार रुपया भेजदे ही कार्ड card नंबर number" - int8 (RTF 0.33): identical to fp32 **Verified with caveats, honestly**: both precisions produce the identical transcript, so quantization introduces no additional error here. However the transcript itself has real issues — repeated syllables on the number ("तिरान तिरान बे"), and duplicated English glosses appended after several Devanagari words ("कार्ड card", "नंबर number"). This looks like a genuine behavior of this checkpoint rather than an export artifact. Use with that caveat in mind. RTF measured on an AMD Ryzen 5 7600 (CPU, 4 OMP threads, shared/loaded box — not a clean benchmark number). Int8 decoder was produced by quantizing the pre-merge decoders separately and re-merging (`merge_decoders(..., strict=False)`); direct quantization of the merged decoder graph does not shrink it (its `If` subgraphs are skipped by onnxruntime's dynamic quantizer).