Instructions to use vbhar/whisperkit-hindi2hinglish-prime-coreml with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- WhisperKit
How to use vbhar/whisperkit-hindi2hinglish-prime-coreml with WhisperKit:
# Install CLI with Homebrew on macOS device brew install whisperkit-cli # View all available inference options whisperkit-cli transcribe --help # Download and run inference using whisper base model whisperkit-cli transcribe --audio-path /path/to/audio.mp3 # Or use your preferred model variant whisperkit-cli transcribe --model "large-v3" --model-prefix "distil" --audio-path /path/to/audio.mp3 --verbose
- Notebooks
- Google Colab
- Kaggle
whisperkit-hindi2hinglish-prime-coreml
A float16 Core ML conversion of Oriserve/Whisper-Hindi2Hinglish-Prime packaged for WhisperKit on Apple Silicon (macOS 14+ / iOS 17+).
It ships compiled .mlmodelc bundles, ready for on-device inference through WhisperKit's Swift API. For Python inference, use the upstream repo linked above.
Output script: romanized Hinglish (Latin script). Hindi speech comes back transliterated into English letters, not Devanagari.
Usage
import WhisperKit
let pipe = try await WhisperKit(
WhisperKitConfig(
model: "Oriserve_Whisper-Hindi2Hinglish-Prime_fp16",
modelRepo: "vbhar/whisperkit-hindi2hinglish-prime-coreml"
)
)
let result = try await pipe.transcribe(audioPath: "meeting.wav")
Or download the variant folder directly and point WhisperKit at a local path:
hf download vbhar/whisperkit-hindi2hinglish-prime-coreml \
--include "Oriserve_Whisper-Hindi2Hinglish-Prime_fp16/*" \
--local-dir ./models
Layout
Oriserve_Whisper-Hindi2Hinglish-Prime_fp16/
βββ MelSpectrogram.mlmodelc/
βββ AudioEncoder.mlmodelc/ # ~1.2 GB weights
βββ TextDecoder.mlmodelc/ # ~1.7 GB weights
βββ config.json
βββ generation_config.json
No quantized variants and no decoder prefill data are included β float16 only, by choice (see A note on quantization below).
Attribution and modifications
Lineage:
| This repo | vbhar/whisperkit-hindi2hinglish-prime-coreml β Core ML float16 conversion |
| Direct source | Oriserve/Whisper-Hindi2Hinglish-Prime β Hinglish fine-tune, Apache-2.0 |
| Upstream architecture | openai/whisper-large-v3 |
All credit for the model itself belongs to Oriserve. Licensed under the Apache License, Version 2.0; see https://www.apache.org/licenses/LICENSE-2.0.
Statement of modifications (Apache-2.0 Β§4(b)): the weights were converted from float32 to float16 and compiled to Core ML for the Apple Neural Engine. They are otherwise unmodified β no fine-tuning, no distillation, no pruning, no vocabulary change, no re-training. The only non-weight change made during conversion was supplying alignment_heads metadata that the source repo ships as null (see Conversion gotcha below); those heads are the standard whisper-large-v3 values and affect word-timestamp attention selection only, not transcription weights.
Reproducing this conversion
Converted with argmaxinc/whisperkittools under Python 3.11 (3.14 has no working coremltools/torch wheels as of this writing):
python3.11 -m venv .venv && source .venv/bin/activate
pip install git+https://github.com/argmaxinc/whisperkittools.git
whisperkit-generate-model \
--model-version Oriserve/Whisper-Hindi2Hinglish-Prime \
--output-dir out \
--repo-path-suffix fp16
float16, no quantized variants, no decoder prefill data.
Conversion gotcha: alignment_heads is null
Oriserve/Whisper-Hindi2Hinglish-Prime ships generation_config.json with:
"alignment_heads": null
The whisperkittools decoder trace uses alignment_heads to build the alignment_heads_weights output. With null, the traced decoder emits 3 outputs while the conversion declares 4, and the run dies with:
ValueError: Number of outputs provided, 4, do not match the number of outputs
produced by the model, 3
Fix: fall back to the standard whisper-large-v3 alignment heads β 10 [layer, head] pairs β before tracing:
generation_config.alignment_heads = [
[7, 0], [10, 17], [12, 18], [13, 12], [16, 1],
[17, 14], [19, 11], [21, 4], [24, 1], [25, 6],
]
This is the correct fallback, not a guess: the model is an unmodified-architecture whisper-large-v3 fine-tune, and these pairs are byte-identical to the ones the sibling vbhar/whisperkit-hinglish-large-v3-coreml build carries from its own source. The values are baked into the generation_config.json in this repo, so a consumer of this repo never sees the failure β only someone re-converting from the Oriserve source does.
A note on quantization
Float16 was chosen deliberately. During this work, a quantized Core ML build of
these weights was observed to emit the literal string nan on real
code-switched Hindi/English speech, while passing cleanly on short English
clips such as WhisperKit's bundled jfk.wav.
The asymmetry is the point worth noting: quantization error is input-dependent, so a short smoke test β the normal way to sanity-check a conversion β can pass on a build that fails on the audio you actually care about. If you evaluate a quantized Whisper conversion, test it on your own code-switched audio at realistic length, not on a short clip.
No quantized variant is published here, because none was validated on that kind of input.
Limitations
- ~2.9 GB on disk. The variant folder is the full large-v3 parameter count at float16.
- First load is slow. The Neural Engine compiles the model once on first use: roughly 115β190 s on an M-series Mac. Subsequent warm loads are ~1β3 s. Cache the compiled artifacts; do not put the first load on a user-visible path without a progress indicator.
- Apple Silicon only. Requires macOS 14+ / iOS 17+ and an ANE. No Intel Mac support, no CUDA, no CPU-only fallback path worth using.
- Script behaviour is not configurable. This model romanizes Hindi into Latin script. If you need Devanagari for the Hindi portions, this is the wrong model β use
vbhar/whisperkit-hinglish-large-v3-coremlinstead. Picking the wrong one of the two is the most likely mistake with this pair. - Inherits every bias and domain limitation of the upstream fine-tune, which was trained largely on Indian call-centre-style speech.
Verified usage
Tested live end-to-end in a real macOS menu-bar meeting-notes app (mic + system audio, streaming transcription) on natural Hindi/English code-switched speech.
Hindi is returned transliterated into Latin script and English is returned as-is, mixed inline within the same sentence.
- Downloads last month
- 6
Model tree for vbhar/whisperkit-hindi2hinglish-prime-coreml
Base model
openai/whisper-large-v3