--- license: cc-by-nc-4.0 language: [en, de] tags: [automatic-speech-recognition, onnx, onnx-asr, whisper, verbatim-asr] base_model: nyrahealth/CrisperWhisper --- # CrisperWhisper — ONNX ONNX export of [nyrahealth/CrisperWhisper](https://huggingface.co/nyrahealth/CrisperWhisper) (Whisper large-v3 fine-tuned for verbatim transcription — includes filler words, disfluencies, pauses) for [onnx-asr](https://github.com/istupakov/onnx-asr) (standard `whisper` model type — works with stock onnx-asr, no patches needed). Addresses [onnx-asr#140](https://github.com/istupakov/onnx-asr/issues/140). fp32 and int8 variants included; int8 decoder produced by quantizing the pre-merge decoders and re-merging (the merged graph's If-subgraphs defeat direct quantization). **License**: original model is CC-BY-NC-4.0 (nyra health / nyralabs). This ONNX export is a derivative, non-commercial use only, and inherits the same license and attribution requirement. Credit: [nyrahealth/CrisperWhisper](https://huggingface.co/nyrahealth/CrisperWhisper). **Export gotcha (fixed here)**: `optimum`'s ONNX export re-saves the tokenizer and silently truncates CrisperWhisper's `vocab.json` (698KB vs the source repo's 878KB), shifting every special-token ID (e.g. `<|startoftranscript|>` came out as 45073 instead of the correct 50258) and producing near-blank/looping decode output. This export replaces `vocab.json`/`added_tokens.json` with the originals copied verbatim from the source repo. ## 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="en")) # or "de" ``` Verified on FLEURS English and German clips: fp32 and int8 outputs match each other and the native `transformers` pipeline output exactly, for both languages. RTF on an AMD Ryzen 5 7600 (6C/12T CPU, shared/loaded host): ~1.7-3.0 fp32, ~0.8-1.5 int8.