Downloads · 30 days
0
smdesai/canary-180m-flash-coreml
canary-180m-flash-coreml is a automatic speech recognition model from smdesai. Use it when you need speech turned into text. It is set up for coreml. The card lists the license as cc-by-4.0.
On-device CoreML port of NVIDIA canary-180m-flash for Apple silicon (iOS / macOS): FP32 preprocessor, FP16 Apple Neural Engine-resident FastConformer encoder, and a stateful KV-cache Transformer decoder driven by a ho…
Downloads · 30 days
0
Access
Public
Updated Sep 8, 2026
Repo size
368 MB
Likes
0
Public
Click a slice to open those files.
.bin367 MB · 99%
From the Hugging Face model README
On-device CoreML port of NVIDIA canary-180m-flash for Apple silicon (iOS / macOS): FP32 preprocessor, FP16 Apple Neural Engine-resident FastConformer encoder, and a stateful KV-cache Transformer decoder driven by a host-side greedy loop. Same pipeline and package layout as the canary-1b-v2 CoreML builds, at about a fifth of the download.
Base model: nvidia/canary-180m-flash (NVIDIA NeMo EncDecMultiTaskModel, 182M parameters; ASR in English, German, Spanish, French, and translation between English and de/es/fr). License: the base model is released under CC-BY-4.0; this conversion carries the same license. Please attribute NVIDIA for the model.
| Encoder | FP16, 17 layers, d=512, subsampling 8, with the 512→1024 encoder-decoder projection folded in; Neural Engine-resident, 218 MB |
| Decoder / cross-KV | FP16, 4 layers, 131 MB + 17 MB |
| Download | 0.37 GB |
| iOS RAM while transcribing | 470 MB (measured) |
| Latency (M3 Max) | encoder ≈ 10 ms per 15 s window, cross-KV ≈ 1 ms, ≈ 2.0 ms per decoded token |
| Languages | en, de, es, fr (the aggregate tokenizer carries slots for every Canary language, but only these four are trained) |
| Repo | Build | Encoder weights | Decoder weights | Download | iOS RAM |
|---|---|---|---|---|---|
canary-1b-v2-coreml | FP16 (reference) | FP16 | FP16 | 1.89 GB | 1.9 GB (measured) |
canary-1b-v2-int8-coreml | INT8 encoder | INT8 per-channel | FP16 | 1.10 GB | 1.2 GB (measured) |
canary-1b-v2-pal6-coreml | 6-bit encoder | 6-bit palette, g=16 | FP16 | 0.92 GB | 1.0 GB (measured) |
canary-1b-v2-int8full-coreml | INT8 full | INT8 per-channel | INT8 per-channel | 0.95 GB | 1.0 GB (measured) |
canary-1b-v2-pal6-int8-coreml | 6-bit + INT8 | 6-bit palette, g=16 | INT8 per-channel | 0.77 GB | 910 MB (measured) |
canary-180m-flash-coreml (this repo) | 180M Flash | FP16 (17L, d=512) | FP16 (4L) | 0.37 GB | 470 MB (measured) |
| File | Contents |
|---|---|
canary_preprocessor.mlmodelc | FP32 mel front end (128 mel bins, 16 kHz mono, 15 s window) |
canary_encoder.mlmodelc | FastConformer encoder, 17 layers, d=512, projection to 1024 folded in |
canary_cross_kv.mlmodelc | Cross-attention K/V projection, 4 layers (run once per window) |
canary_decoder_kv.mlmodelc | Stateful single-step Transformer decoder, 4 layers, 5248-way LM head |
flash_decode_contract.json | The 5248-piece aggregate vocabulary (piece strings, per-id language) and lang_offsets (spl 0, en 1152, de 2176, es 3200, fr 4224), so detokenizing needs no NeMo tokenizer |
flash_en_spe.model, flash_de_spe.model, flash_es_spe.model, flash_fr_spe.model | Per-language SentencePiece sub-tokenizers (1024 pieces each) |
metadata.json | Shapes, decode geometry, seed tokens, and provenance |
Model: NVIDIA NeMo team, canary-180m-flash, CC-BY-4.0.