|
|
--- |
|
|
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 by `whisper.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 |
|
|
|
|
|
```bash |
|
|
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) |
|
|
|
|
|
```bash |
|
|
./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 `.bin` and `.mlmodelc` files together** from the same model variant |
|
|
- β Do **not** rename, edit, or partially copy `.mlmodelc` directories |
|
|
- π§Ή `.pt` cache 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 |