Automatic Speech Recognition
Core ML
NeMo
apple-neural-engine
on-device
ios
macos
speech
audio
automatic-speech-translation
canary
fastconformer
kv-cache
fp16
Instructions to use smdesai/canary-1b-v2-coreml with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use smdesai/canary-1b-v2-coreml with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("smdesai/canary-1b-v2-coreml") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
File size: 3,582 Bytes
aa24cce bfef108 aa24cce bfef108 051d328 aa24cce | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | ---
license: cc-by-4.0
base_model: nvidia/canary-1b-v2
pipeline_tag: automatic-speech-recognition
library_name: coreml
language:
- bg
- hr
- cs
- da
- nl
- en
- et
- fi
- fr
- de
- el
- hu
- it
- lv
- lt
- mt
- pl
- pt
- ro
- sk
- sl
- es
- sv
- ru
- uk
tags:
- coreml
- apple-neural-engine
- on-device
- ios
- macos
- speech
- audio
- automatic-speech-recognition
- automatic-speech-translation
- canary
- fastconformer
- nemo
- kv-cache
- fp16
---
# Canary 1B v2 — CoreML (FP16, KV-cache)
On-device CoreML port of NVIDIA **canary-1b-v2** 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. This is the reference (uncompressed) build; the memory-optimized variants below are derived from it and match its accuracy.
**Base model:** [nvidia/canary-1b-v2](https://huggingface.co/nvidia/canary-1b-v2) (NVIDIA NeMo `EncDecMultiTaskModel`, 1B parameters, 25 European languages, ASR + speech translation). **License:** the base model is released under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode.en); this conversion carries the same license. Please attribute NVIDIA for the model.
## This build
| | |
|---|---|
| Encoder | FP16 weights, Neural Engine-resident, 1.58 GB |
| Decoder / cross-KV | FP16, 271 MB + 34 MB |
| Download | 1.89 GB |
| iOS RAM while transcribing | 1.9 GB (measured, 6-minute file) |
## Build family
All 1B v2 builds share the same preprocessor, tokenizer, package layout, and decode contract; only the weight format of the encoder and/or decoder differs. Download sizes are as hosted on the Hub; iOS RAM was measured in an app while transcribing a 6-minute file.
| Repo | Build | Encoder weights | Decoder weights | Download | iOS RAM |
|---|---|---|---|---|---|
| **`canary-1b-v2-coreml` (this repo)** | FP16 (reference) | FP16 | FP16 | 1.89 GB | 1.9 GB (measured) |
| [`canary-1b-v2-int8-coreml`](https://huggingface.co/smdesai/canary-1b-v2-int8-coreml) | INT8 encoder | INT8 per-channel | FP16 | 1.10 GB | 1.2 GB (measured) |
| [`canary-1b-v2-pal6-coreml`](https://huggingface.co/smdesai/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`](https://huggingface.co/smdesai/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`](https://huggingface.co/smdesai/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`](https://huggingface.co/smdesai/canary-180m-flash-coreml) | 180M Flash | FP16 (17L, d=512) | FP16 (4L) | 0.37 GB | 470 MB (measured) |
## Files
| File | Contents |
|---|---|
| `canary_preprocessor.mlmodelc` | FP32 mel front end (128 mel bins, 16 kHz mono, 15 s window) |
| `canary_encoder.mlmodelc` | FastConformer encoder, 32 layers, d=1024, subsampling 8 |
| `canary_cross_kv.mlmodelc` | Cross-attention K/V projection, 8 layers (run once per window) |
| `canary_decoder_kv.mlmodelc` | Stateful single-step Transformer decoder, 8 layers, 16384-way LM head |
| `canary_spe.model` | SentencePiece tokenizer (16384 pieces) |
| `metadata.json` | Shapes, decode geometry, seed tokens, and the weight recipe of this build |
## Credits
Model: NVIDIA NeMo team, [canary-1b-v2](https://huggingface.co/nvidia/canary-1b-v2), CC-BY-4.0.
|