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