whisper-turbo-coreai
Core AI (iOS 27) builds of Whisper large-v3-turbo, used for on-device speech recognition in the iOS app The Dude. The app fetches these at runtime; nothing here is loaded from a browser.
Whisper is MIT-licensed by OpenAI โ see openai/whisper. These are format conversions of those weights, not a retrain, so the licence carries over unchanged.
What the app downloads
manifest.json is the source of truth: the app reads it, takes the whisper/-prefixed
entries, and skips any file already on disk at the right size. It lists the shipping arm
only (~835 MB):
| File | Size | Role |
|---|---|---|
whisper-turbo-encoder_pal6.aimodel |
~491 MB | Transformer encoder, 6-bit k-means LUT palettised |
whisper-turbo-decoder_xkv.aimodel |
~318 MB | Stateless KV decoder, crossKV arm |
whisper-turbo-crosskv.aimodel |
~26 MB | Cross-attention K/V producer, run once per utterance |
mel_filters.bin |
~100 KB | 128ร201 log-mel filterbank |
whisper_vocab.json |
~600 KB | Byte-BPE decode vocab |
Off-manifest variants
Present in the repo but deliberately absent from manifest.json, so the app never
downloads them. They exist as one-line reverts if a shipping arm regresses:
| File | Size | Reverts |
|---|---|---|
whisper-turbo-encoder_int8.aimodel |
~646 MB | encoderName back to _int8 |
whisper-turbo-decoder_float16.aimodel |
~344 MB | decoderArm back to .stateful |
There is no whisper-turbo-decoder_ro. The app's .readonly decoder arm names that
payload but it was never published, so selecting that arm leaves the models unavailable
and ASR falls back rather than failing loudly.
Scope rule
This repo holds Whisper Core AI payloads and nothing else. A future non-Whisper model gets its own repo.
That isn't housekeeping preference โ it's the lesson from the repo this one replaced. That
one was created for a CosyVoice payload, named cosy-ios accordingly, then had Whisper and
an LLM benchmark added to it. CosyVoice was retired; the name stopped describing the
contents, and the repo grew to 12 GB of which the app used 7%. Adding an unrelated payload
here would restart exactly that.
The predecessor is kept at
Aescleah/cosy-ios as an archive of the
retired CosyVoice conversion work. The app no longer reads from it.