Parakeet-CTC-110M CoreML
NVIDIA's Parakeet-TDT-CTC-110M model converted to CoreML for fast CTC transcription and keyword spotting on Apple Silicon, by BuilderHelm AI.
Need TDT transcription too? Use BuilderHelm/Parakeet-TDT-CTC-110M-CoreML, which has the same encoder plus the TDT decoder.
Highlights
- Keyword spotting: 89.8% recall at one false alarm per clip on Earnings22
- Accurate CTC: within 0.1 points of the full-precision model on LibriSpeech
- Neural Engine: int8 encoder runs on the ANE
- Fast: 1,005× real time, 11.5 ms per dictation clip (M5)
- Any length: 4, 8, 15 and 20-second windows; longer audio is split automatically
Model Description
The CTC path of NVIDIA's hybrid Parakeet-TDT-CTC-110M: a shared FastConformer encoder and its CTC head. It gives a greedy transcript and per-frame log-probabilities for keyword spotting, custom vocabulary and alignment.
Architecture
| Component | Description | Size |
|---|---|---|
Preprocessor |
Audio → log-mel (float32, CPU) | 5.7 MB |
Encoder |
FastConformer + CTC head (int8, Neural Engine) | 112.7 MB |
vocab.json |
1,024-token vocabulary | 9 KB |
config.json |
Model configuration and I/O contracts | 4 KB |
Total size: 118 MB
Input: 16 kHz mono audio, any length. Output: CTC transcript and log-probabilities every 80 ms (1,025 classes; blank = 1024).
Performance
Apple M5, macOS 27.2. Same audio and scoring for every system (full evaluation).
CTC (WER %):
| System | Common Voice | Earnings22 | LS clean | LS other | Long audio |
|---|---|---|---|---|---|
| This model | 8.29 | 17.62 | 2.97 | 5.88 | 3.19 |
| Full-precision reference | 8.65 | 17.59 | 2.94 | 5.92 | 2.77 |
| FluidInference CTC 110M | 94.86 | 99.27 | 97.27 | 98.51 | 96.93 |
| mudler q8_0 GGUF | 8.65 | 17.53 | 2.95 | 5.92 | 2.76 |
Speed (× real time):
| System | Common Voice | Earnings22 | LS clean | LS other | Long audio |
|---|---|---|---|---|---|
| This model | 1,005 | 1,235 | 1,003 | 995 | 991 |
| FluidInference CTC 110M | 95 | 146 | 78 | 73 | 130 |
| mudler q8_0 GGUF | 305 | 345 | 280 | 279 | 86 |
Custom Vocabulary / Keyword Spotting
Run CTC word spotting over ctcLogProbs with your terms tokenized by vocab.json. Keyword recall on Earnings22 (772 clips, about 25 candidate terms per clip), same spotter for both models:
| False alarms per clip | This model | FluidInference CTC 110M |
|---|---|---|
| 0.1 | 46.3% | 1.1% |
| 0.5 | 85.4% | 2.8% |
| 1.0 | 89.8% | 5.0% |
With only the spoken terms as candidates, recall is 97.6% (this model) and 99.2% (FluidInference).
Requirements
- macOS 15+ on Apple Silicon
- Swift 6 toolchain (for the Swift package)
Installation
pip install -U huggingface_hub
hf download BuilderHelm/Parakeet-CTC-110M-CoreML --revision v1.0.0 \
--include "*.mlpackage/*" --include "config.json" --include "vocab.json" --include "swift/*" \
--local-dir parakeet-ctc-110m
Or download the archive (105 MB).
Usage
Swift
Add the swift/ folder as a local Swift Package:
import Foundation
import ParakeetTdtCtc110M
let model = try ParakeetTdtCtc110M(directory: URL(fileURLWithPath: "parakeet-ctc-110m"), ctcOnly: true)
let samples = try ParakeetAudio.read(URL(fileURLWithPath: "audio.wav"))
let result = try model.transcribe(samples)
print(result.text) // CTC transcript
let logProbs = result.ctcLogProbs // [frame][1025], blank = 1024
Command Line
cd parakeet-ctc-110m
swift run -c release --package-path swift parakeet-110m . audio.wav --ctc
File Structure
./
├── Preprocessor.mlpackage # Audio → log-mel
├── Encoder.mlpackage # Log-mel → CTC log-probs
├── vocab.json # Token vocabulary (1,024 tokens)
├── config.json # Model configuration
├── compiled/ # Precompiled .mlmodelc (macOS 27.2)
├── releases/ # ZIP archive
└── swift/ # Swift library and CLI
Limitations
- English only
- First load takes about 18 seconds while CoreML compiles the models
- Tested on Apple M5 (macOS 27.2) only
- Settings were tuned on parts of the test sets
Model Conversion
Built from NVIDIA's checkpoint with the recipe in Parakeet-TDT-CTC-110M-CoreML. These files are byte-identical to the Preprocessor and Encoder there.
License
Model weights and tokenizer: CC-BY-4.0, from NVIDIA. Code: MIT. See NOTICE.md.
Citation
@misc{nvidia_parakeet_tdt_ctc_110m,
title = {Parakeet-TDT-CTC-110M},
author = {NVIDIA},
year = {2024},
url = {https://huggingface.co/nvidia/parakeet-tdt_ctc-110m}
}
Acknowledgments
- Original model by NVIDIA NeMo
- CoreML conversion by BuilderHelm AI
- Downloads last month
- 33
Model tree for BuilderHelm/Parakeet-CTC-110M-CoreML
Base model
nvidia/parakeet-tdt_ctc-110mDatasets used to train BuilderHelm/Parakeet-CTC-110M-CoreML
CSTR-Edinburgh/vctk
legacy-datasets/multilingual_librispeech
Evaluation results
- Test WER (CTC) on LibriSpeech (clean)test set self-reported2.970
- Test WER (CTC) on LibriSpeech (other)test set self-reported5.880
- Test WER (CTC) on Earnings22 contextual subset (772 clips)test set self-reported17.620