license: mit
language:
- en
- af
- am
- ar
- as
- az
- ba
- be
- bg
- bn
- bo
- br
- bs
- ca
- cs
- cy
- da
- de
- el
- eu
- fa
- fi
- fo
- fr
- gl
- gu
- ha
- he
- hi
- hr
- ht
- hu
- hy
- id
- is
- it
- ja
- jv
- ka
- kk
- km
- kn
- ko
- la
- lb
- ln
- lo
- lt
- lv
- mg
- mk
- ml
- mn
- mr
- ms
- mt
- my
- ne
- nl
- nn
- 'no'
- oc
- pa
- pl
- pt
- ro
- ru
- sa
- sd
- si
- sk
- sl
- sn
- so
- sq
- sr
- su
- sv
- sw
- ta
- te
- tg
- th
- tk
- tl
- tr
- tt
- uk
- ur
- uz
- vi
- yi
- yo
- zh
tags:
- whisper
- core-ml
- apple
- Apple-Silicon
Whisper.cpp Core ML Models for Apple Silicon
This repository provides prebuilt Core ML models for Whisper.cpp, optimized for Apple Silicon (M1, M2, M3, M4, M5) devices.
These models enable hardware-accelerated speech-to-text using Appleβs Neural Engine via Core ML.
The repository is designed for easy plug-and-play usage with Whisper.cpp using a prebuilt CLI binary.
π¦ Repository Contents
Each model directory contains everything required to run Whisper.cpp with Core ML acceleration:
ggml-*.binβ Whisper model weights used bywhisper.cpp*-encoder.mlmodelc/β Compiled Core ML encoder bundle
β οΈ Important: The .mlmodelc directories must remain intact. Do not modify, rename, or move their contents.
π Folder Structure
.
βββ tiny/
βββ tiny.en/
βββ base/
βββ base.en/
βββ small/
βββ small.en/
βββ medium/
βββ medium.en/
βββ large-v1/
βββ large-v2/
βββ large-v3/
Each folder corresponds to a Whisper model variant and contains the matching .bin and .mlmodelc files.
π Model Variants Overview
The table below summarizes the trade-offs between speed, accuracy, and memory usage.
| Folder | Model Size | Speed | Accuracy | Notes |
|---|---|---|---|---|
tiny |
Very Small | β‘ Fastest | β Lowest | Best for real-time, low-resource use |
tiny.en |
Very Small | β‘ Fastest | β Lowest | English-only |
base |
Small | β‘ Fast | ββ Balanced | Good default choice |
base.en |
Small | β‘ Fast | ββ Balanced | English-only |
small |
Medium | β‘ Medium | βββ Better | Improved transcription quality |
small.en |
Medium | β‘ Medium | βββ Better | English-only |
medium |
Large | π’ Slower | ββββ High | High accuracy, higher memory usage |
medium.en |
Large | π’ Slower | ββββ High | English-only |
large-v1 |
Very Large | π’ Slow | βββββ Best | Maximum accuracy |
large-v2 |
Very Large | π’ Slow | βββββ Best | Improved multilingual performance |
large-v3 |
Very Large | π’ Slow | βββββ Best | Latest and most accurate |
π Usage Instructions
1. Download the Prebuilt whisper-cli Binary
Download the Core MLβenabled whisper-cli binary directly from GitHub Releases:
https://github.com/aarush67/whisper-cli-for-core-ml/releases/download/v1.0.0/whisper-cli
Recommended directory structure:
.
βββ bin/
β βββ whisper-cli
βββ medium.en/
β βββ ggml-medium.en.bin
β βββ medium.en-encoder.mlmodelc/
2. Make the Binary Executable
chmod +x bin/whisper-cli
3. Run Whisper with a Core ML Model
Place the .bin file and the matching .mlmodelc folder in the same directory.
Example (English-only transcription)
./bin/whisper-cli -m ggml-medium.en.bin -f sample.wav
Whisper.cpp will automatically detect and use the Core ML encoder when available.
π§ Best Practices & Notes
- β
Keep
.binand.mlmodelcfiles together from the same model variant - β Do not rename, edit, or partially copy
.mlmodelcdirectories - π§Ή
.ptcache files (if generated) are temporary and safe to delete - πΎ Larger models require significantly more RAM and disk space
- β‘ Best performance is achieved on Apple Silicon devices with a Neural Engine
π License
- Repository structure & metadata: MIT License
- Model weights & Core ML artifacts: Governed by the original
Whisper.cpp / OpenAI Whisper licenses
Please review upstream licenses before commercial or large-scale use.
π Credits
- OpenAI Whisper β Original speech recognition models
- whisper.cpp by Georgi Gerganov β High-performance C/C++ implementation
- Apple Core ML β Hardware acceleration on Apple Silicon
β Support
If this repository is useful to you:
- β Star the repository
- π Support the upstream Whisper.cpp project