--- license: openrail language: [am, amh] tags: [automatic-speech-recognition, onnx, onnx-asr, whisper, amharic] base_model: chappM/whisper-amharic-small-v2 --- # whisper-amharic-small-v2 — ONNX ONNX export of [chappM/whisper-amharic-small-v2](https://huggingface.co/chappM/whisper-amharic-small-v2) (Whisper small fine-tuned for Amharic by [chappM](https://huggingface.co/chappM)) 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: openrail, inherited from the source model. First specialized ONNX ASR model for Amharic in this collection. ## Usage ```python import onnx_asr model = onnx_asr.load_model("whisper", "path/to/this/repo") # or quantization="int8" print(model.recognize("audio_16khz.wav", language="am")) ``` Verified on a FLEURS Amharic (`am_et`) test clip (a sentence with two number sequences, "117" and "45"): - Reference: "በሴቶች ቡድን ውስጥ አራት የበረዶ ተንሸራታቾች ሩጫቸውን መጨረስ አልቻሉም በግዙፉ ስላሎም ካሉት ከ117ቱ የበረዶ ተንሸራታቾች 45ቱ በውድድሩ ደረጃ ማግኘት አልቻሉም" - fp32 (RTF 0.94): correct through the first clause, then degrades into a repetition loop around the digit-heavy portion of the sentence. - int8 (RTF 0.30): also correct through the first clause, degrades less severely on the same digit-heavy portion, and terminates instead of looping. **Known limitation, not a quantization artifact**: this checkpoint struggles with digit sequences spoken as words ("one hundred seventeen", "forty-five") in this test clip, in both precisions — likely a training-data gap in the base fine-tune rather than something introduced by this ONNX conversion. The first ~half of the sentence transcribes correctly and fluently in both variants; treat this export as verified-with-caveats rather than fully clean. 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).