| --- |
| 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 |