Whisper speech-recognition models (tiny, base and small, multilingual), ONNX format Weights: OpenAI Whisper, https://github.com/openai/whisper "Whisper's code and model weights are released under the MIT License" (LICENSE-whisper-MIT.txt, copied from the openai-whisper 20250625 source distribution on PyPI). ONNX export: k2-fsa/sherpa-onnx (Apache License 2.0, LICENSE-sherpa-onnx-Apache-2.0.txt), GitHub release "asr-models": https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.tar.bz2 SHA-256 c46116994e539aa165266d96b325252728429c12535eb9d8b6a2b10f129e66b1 https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-base.tar.bz2 SHA-256 911b2083efd7c0dca2ac3b358b75222660dc09fb716d64fbfc417ba6c99ff3de https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-small.tar.bz2 SHA-256 486a46afbb7ba798507190ffe02fea2dd726049af212e774537efac6afb210a6 Files and modifications: - tiny-encoder.onnx: tiny-encoder.int8.onnx, unmodified. - base-encoder.onnx.part0..1: base-encoder.int8.onnx, unmodified, split into two byte ranges. - tiny-decoder.onnx.part0..1, base-decoder.onnx.part0..2: {tiny,base}-decoder.int8.onnx with one change: the float32 token-embedding matrix (textDecoder.token_embedding.weight) is stored as int8 with one float32 scale per row and restored by a Cast + Mul at the start of the graph (maximum absolute error 0.0012). This shrinks the decoders from 90 MB / 131 MB to 30 MB / 51 MB. The files are then split into byte ranges of at most 20 MB so each one fits static-hosting per-file limits; the browser concatenates the parts before loading. - small-encoder.onnx.part0..6: small-encoder.int8.onnx with its three float32 initializers over 0.5 MB (the two convolution kernels and audioEncoder.positional_embedding) stored as int8 with one float32 scale per output row and restored by Cast + Mul (maximum absolute error 0.0039); 112 MB -> 103 MB. Split into 7 byte ranges of at most 17 MB. - small-decoder.onnx.part0..8: small-decoder.int8.onnx with the token-embedding change above (maximum absolute error 0.0012); 262 MB -> 143 MB. Split into 9 byte ranges of at most 17 MB. Checked with Python onnxruntime 1.25 (one thread): the same greedy transcripts as the unmodified int8 files on English (LibriSpeech test_wavs/1.wav) and Arabic test audio. - tokens.txt: tiny-tokens.txt (identical to base-tokens.txt), unmodified: the Whisper byte-level BPE vocabulary as "base64(token bytes) id" lines. scripts/copy-whisper.mjs copies these files to /public/whisper/, where the transcription tools load them with ONNX Runtime Web (MIT, Microsoft), which is served from /bg-removal/ by scripts/copy-bg-removal.mjs. Nothing is downloaded from third-party hosts at runtime.