EverParakeet Compact
Compact is the smaller, more aggressively compressed tier of Everpaper's EverParakeet family, a port of NVIDIA's parakeet-tdt-0.6b-v3 to the Apple Neural Engine. The encoder uses mixed 2-bit and 4-bit palettes that were learned during fine-tuning (151 of 240 palettised layers at 4-bit, 89 at 2-bit), shipped as a Core AI asset (macOS 27) and a Core ML package (macOS 15 and later). All credit for the model, its tokenizer and its multilingual training goes to NVIDIA.
The EverParakeet family
| Repository | What it is | Runs on |
|---|---|---|
| everparakeet-tdt-0.6b-v3-coreai | Standard: 4-bit encoder, Core AI and Core ML | Neural Engine |
| everparakeet-tdt-0.6b-v3-compact | Compact: smaller, mixed 2/4-bit encoder, most accurate on FLEURS-25 | Neural Engine |
| everparakeet-tdt-0.6b-v3-mini | Mini (experimental): smallest, mixed 2/4-bit encoder | Neural Engine |
| everparakeet-tdt-0.6b-v3-mlx | Fine-tuned weights for parakeet-mlx (bf16) | GPU through MLX |
| everparakeet-tdt-0.6b-v3 | Full precision: .nemo and Hugging Face transformers | any |
The generation (currently 1.1) is in the git tags, not in the repository names.
Trade-offs, stated plainly
- Compact has the lowest mean WER on FLEURS-25 of the EverParakeet family (12.85, against 13.39 for Standard and 13.75 for v1.0). The FLEURS training split was part of the fine-tuning data, so part of this gain is in-domain.
- It is slightly worse than Standard and v1.0 on long-form audio (24.63 against 22.26 for v1.0, +2.4 points), on Italian parliament speech (VoxPopuli Italian 14.08 against 13.12) and on our synthetic code-switch set (24.45 against 23.39).
- On English it is a little behind Standard (5.85 against 5.72 on the Open ASR Leaderboard nine-set mean).
- If you mainly transcribe English or long recordings, use Standard.
Accuracy
How to read these numbers. Every EverParakeet figure below was measured by us on one Mac with the same test harness and the same text normaliser. Lower WER (word error rate) is better. The fine-tuning data included the FLEURS training split, so part of the FLEURS gain is in-domain and will not carry over fully to other audio. The NVIDIA column is the number NVIDIA publishes with its own text normalisation, so it is not comparable one to one with ours. This card makes no claim to beat the original model.
| FLEURS test, 25-language mean WER | % |
|---|---|
| EverParakeet v1.0 | 13.75 |
| EverParakeet Standard v1.1 | 13.39 |
| EverParakeet Compact | 12.85 |
| EverParakeet Mini (experimental) | 14.10 |
| FluidAudio Parakeet v3 Core ML | 13.59 |
| EverParakeet v1.1 MLX (bf16) | 12.78 (MLX original control 13.23) |
| NVIDIA published | 11.97 (NVIDIA's own normalisation, not comparable one to one) |
| English Open ASR Leaderboard, mean of 9 public sets | WER % |
|---|---|
| EverParakeet v1.0 (fixed decoder) | 5.80 |
| EverParakeet Standard v1.1 | 5.72 |
| EverParakeet Compact | 5.85 |
| EverParakeet Mini (experimental) | 6.23 |
| FluidAudio Parakeet v3 Core ML | 5.83 |
| EverParakeet v1.1 MLX (bf16) | 5.56 (MLX original control 5.60) |
| NVIDIA original (published leaderboard figure) | 5.58 |
Other test sets
| Set (WER %) | v1.0 | Standard v1.1 | Compact |
|---|---|---|---|
| FLEURS Italian | 5.66 | 5.60 | 5.66 |
| FLEURS English | 6.72 | 6.55 | 6.90 |
| VoxPopuli Italian (parliament speech) | 13.12 | 13.63 | 14.08 |
| VoxPopuli English | 5.79 | 5.77 | 5.68 |
| AMI (single distant microphone) | 19.08 | 18.70 | 18.31 |
| MLS Italian | 12.13 | 12.49 | 11.95 |
| Long-form audio | 22.26 | 22.85 | 24.63 |
| Code-switch (synthetic, internal set) | 23.39 | 24.39 | 24.45 |
FLEURS per language (WER %)
| Language | v1.0 | Standard v1.1 | Compact | Mini | NVIDIA published (not comparable) |
|---|---|---|---|---|---|
| Bulgarian (bg) | 14.21 | 13.77 | 12.72 | 13.77 | 12.64 |
| Croatian (hr) | 13.32 | 12.93 | 12.41 | 13.60 | 12.46 |
| Czech (cs) | 12.12 | 11.66 | 11.14 | 12.23 | 11.01 |
| Danish (da) | 20.08 | 19.51 | 18.98 | 20.91 | 18.41 |
| Dutch (nl) | 8.04 | 8.13 | 7.86 | 9.11 | 7.48 |
| English (en) | 5.55 | 5.45 | 5.49 | 5.94 | 4.85 |
| Estonian (et) | 19.15 | 18.16 | 17.32 | 18.66 | 17.73 |
| Finnish (fi) | 14.52 | 14.09 | 13.25 | 14.50 | 13.21 |
| French (fr) | 5.42 | 5.59 | 5.60 | 6.10 | 5.15 |
| German (de) | 5.39 | 5.46 | 5.38 | 6.09 | 5.04 |
| Greek (el) | 36.64 | 35.13 | 34.94 | 36.87 | 20.70 |
| Hungarian (hu) | 18.25 | 17.39 | 16.41 | 18.28 | 15.72 |
| Italian (it) | 2.99 | 2.94 | 3.08 | 3.24 | 3.00 |
| Latvian (lv) | 25.42 | 25.30 | 23.41 | 26.50 | 22.84 |
| Lithuanian (lt) | 23.00 | 22.08 | 20.21 | 22.48 | 20.35 |
| Maltese (mt) | 22.48 | 22.16 | 20.74 | 22.75 | 20.46 |
| Polish (pl) | 8.25 | 8.03 | 7.76 | 9.21 | 7.31 |
| Portuguese (pt) | 4.98 | 4.74 | 4.77 | 5.12 | 4.76 |
| Romanian (ro) | 14.08 | 13.74 | 13.00 | 14.76 | 12.44 |
| Slovak (sk) | 9.88 | 9.46 | 9.14 | 10.25 | 8.82 |
| Slovenian (sl) | 25.98 | 25.92 | 25.54 | 26.90 | 24.03 |
| Spanish (es) | 3.57 | 3.51 | 3.47 | 3.77 | 3.45 |
| Swedish (sv) | 16.73 | 16.33 | 15.89 | 16.85 | 15.08 |
| Russian (ru) | 5.82 | 5.73 | 5.69 | 6.52 | 5.51 |
| Ukrainian (uk) | 7.84 | 7.53 | 7.13 | 8.00 | 6.79 |
| Mean (25) | 13.75 | 13.39 | 12.85 | 14.10 | 11.97 |
English Open ASR Leaderboard sets (WER %)
| set | v1.0 | Standard v1.1 | Compact | Mini | FluidAudio v3 Core ML | v1.1 MLX | MLX original (control) |
|---|---|---|---|---|---|---|---|
| AMI-Cleaned | 9.33 | 9.16 | 8.97 | 9.38 | 9.87 | 8.92 | 9.14 |
| Earnings22-Cleaned-AA-chunked | 6.69 | 6.74 | 7.11 | 8.02 | 6.80 | 6.64 | 6.07 |
| Gigaspeech-Cleaned | 8.05 | 7.87 | 7.97 | 8.06 | 8.01 | 7.86 | 8.00 |
| LS Clean | 1.59 | 1.56 | 1.57 | 1.75 | 1.63 | 1.49 | 1.48 |
| LS Other | 3.36 | 3.40 | 3.53 | 3.89 | 3.40 | 3.15 | 3.13 |
| SPGISpeech | 3.70 | 3.70 | 3.77 | 3.89 | 3.68 | 3.70 | 3.67 |
| URGENT24 | 12.23 | 12.12 | 12.45 | 13.55 | 11.90 | 11.44 | 11.80 |
| Voice Arena Monsoon | 4.14 | 4.15 | 4.33 | 4.52 | 4.12 | 4.18 | 4.12 |
| Voxpopuli-AA-Cleaned | 3.13 | 2.82 | 2.91 | 2.98 | 3.05 | 2.63 | 2.95 |
| mean (9) | 5.80 | 5.72 | 5.85 | 6.23 | 5.83 | 5.56 | 5.60 |
Size and Neural Engine footprint
| Core AI | Core ML | |
|---|---|---|
| Encoder asset on disk | 294 MB | 301 MB |
| Neural Engine memory footprint | 737 MB | 628 MB |
Median time, 30 s window (main384) |
54.9 ms | 71.4 ms |
| GPU use | none | none |
Measured on one Mac. In both formats the palette values were decoded and checked bit-exact against the trained palettes. Mixed-bit palettes are an exact copy of what was trained, not re-fitted afterwards.
Quick start
Get the folder first (it holds the model, both runtimes and the tests):
pip install -U huggingface_hub
hf download EverPaper/everparakeet-tdt-0.6b-v3-compact --local-dir EverParakeet
cd EverParakeet
Apple silicon is required. The Core AI backend needs macOS 27; the Core ML backend needs macOS 15 or later. The first Core AI load on a machine prepares the encoder for the Neural Engine, which takes a few minutes, once per machine.
Swift (Core AI and Core ML)
Requires Xcode 27 (Swift 6.4) or later. No dependencies besides system frameworks.
cd swift
swift build -c release
.build/release/everparakeet smoke # picks Core AI on macOS 27, Core ML otherwise
.build/release/everparakeet smoke --backend coreml # force Core ML
.build/release/everparakeet transcribe ../tests/audio/english.wav --backend coreai
--backend auto|coreai|coreml selects the encoder backend. auto uses Core AI on macOS 27 and later and Core ML
below that. The decoder runs on the CPU in both. smoke runs the clips in tests/reference_transcripts.json and
prints PASS or FAIL. As a library, add swift/ as a local Swift package and call
EverParakeet.load(root:backend:) from EverParakeetKit.
Python (Core AI only, macOS 27)
Requires the Core AI Python package on macOS 27. The runner loads the Compact asset unchanged; it was checked with the bundled smoke test.
python3 -m venv .venv
.venv/bin/pip install -r python/requirements.txt
.venv/bin/python tests/smoke_test.py
cd python && ../.venv/bin/python -m everparakeet transcribe ../tests/audio/english.wav
The Python runner reads models/encoder.aimodel (Core AI). The Core ML package is used by the Swift runtime.
What changed from the original
- Fine-tuning with the palettes trained in the loop (quantisation-aware), on multilingual speech that included the FLEURS training split.
- Encoder compressed to mixed 2-bit and 4-bit palettes (groups of 8 channels), plus 4-bit k-means palettes for the input projection and the joint encoder projection, re-written for the Neural Engine.
- Encoder re-written in a layout the Neural Engine can run in full, shipped as one asset with fixed windows of
about 5, 10, 15 and 30 seconds that share the same weights (
main64,main128,main192,main384). The Core ML package carries all four windows. - Long audio is cut at the quietest 200 ms within the last 4 seconds before each 30 second boundary; each piece is decoded on its own.
- Decoder. The prediction and joint networks (fp16) run on the CPU with greedy TDT decoding.
License and credit
The model weights, tokenizer and other adapted model material are derived from NVIDIA's
Parakeet TDT 0.6B v3 and are released under
CC-BY-4.0, as the original. All credit for the architecture, the tokenizer and the multilingual
training goes to NVIDIA. This is not an official NVIDIA distribution and NVIDIA does not endorse it. See NOTICE
for the list of modifications. Three Swift files adapted from Apple's Core AI speech sample code remain under
Apple's BSD 3-clause licence (swift/THIRD_PARTY_NOTICES).
- Downloads last month
- -
Model tree for EverPaper/everparakeet-tdt-0.6b-v3-compact
Base model
nvidia/parakeet-tdt-0.6b-v3

