Skip to page content
SAVRN
Search Plan a project

Open-weight model · Speech recognition

granite-speech-4.1-2b-nar-glade

by Josh Leverette coder543/granite-speech-4.1-2b-nar-glade

granite-speech-4.1-2b-nar-glade is an open-weight model for speech recognition from Josh Leverette, released under Apache License 2.0. Its published files total 2.7 GB.

Glade is a native Swift library for on-device speech inference on Apple silicon. This repository supplies converted model assets and configuration for Glade's model-specific host runtime. Glade's runtime source is currently private.

Parameters—
Context—
Weights2.7 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Josh Leverette, published under apache-2.0, revision 350774a2193b.

Glade is a native Swift library for on-device speech inference on Apple silicon. This repository supplies converted model assets and configuration for Glade's model-specific host runtime. Glade's runtime source is currently private. A community conversion of IBM Granite Speech 4.1 2B NAR for Glade, using Apple's Core AI APIs and optimized for Neural Engine execution on Apple silicon. The model combines a CTC acoustic encoder with one bidirectional, audio-conditioned transcript-editing pass. This is a W8A16 export: most convolution/projection weights are INT8 and activations are FP16. Conformer convolution output projections, normalization parameters, and the embedding table remain FP16.…

Read Josh Leverette's full model card

Granite Speech 4.1 2B NAR for Glade

Glade is a native Swift library for on-device speech inference on Apple silicon. This repository supplies converted model assets and configuration for Glade's model-specific host runtime. Glade's runtime source is currently private.

A community conversion of IBM Granite Speech 4.1 2B NAR for Glade, using Apple's Core AI APIs and optimized for Neural Engine execution on Apple silicon. The model combines a CTC acoustic encoder with one bidirectional, audio-conditioned transcript-editing pass.

This is a W8A16 export: most convolution/projection weights are INT8 and activations are FP16. Conformer convolution output projections, normalization parameters, and the embedding table remain FP16. Graphs use ANE-oriented layouts, fused layers, and shared weights across a bounded set of static input shapes. Debug source metadata has been removed.

The repository contains 59 .aimodel components, embeddings.f16, tokenizer.json, model configuration in metadata.json. The components cover the encoder, acoustic projector, CTC head, editor, and final vocabulary head. These are portable source assets; Core AI specializes them for the target device on first use, which can take several minutes.

Requirements: Apple silicon with macOS 27 or a physical iOS 27 device supporting Core AI. These assets require application-side orchestration, audio preprocessing, CTC collapse, and tokenization; they are not a drop-in Transformers checkpoint. No inference runtime is included here. Use 16 kHz mono audio and bounded chunks (60 seconds or shorter) for longer recordings. The model is intended for final transcription, rather than native streaming.

Converted from upstream revision a1e3416e25ce29ab3852778e54fa8b3bd59c4bf2. Original model by IBM; this community conversion is not an official IBM or Apple release. Distributed under Apache-2.0, matching the upstream model. See the upstream model card for training details and limitations.

Measured performance

M3 MacBook Air (16 GB), macOS 27. The audio is JFK's “We choose to go to the Moon” speech: a 20-second excerpt and the full 18-minute 15-second recording. The qualified host uses shared encoder/editor shapes and bounded chunks of at most 60 seconds, with CPU Silero choosing boundaries. Silero is not included in this repository.

Speech excerpt Warm transcription Audio / elapsed
20 seconds 0.408 s 49.0×
18 min 15 s 21.90 s 50.0×

Medians of three runs after preparation and warmup, including audio reading, chunk planning, the frontend, encoder, projector, editor and decoding. Preparation is excluded. Both measurements used macOS thermal state “fair” after compilation. The full recording retains all samples across 21 chunks. Benchmark-normalized WER is 52/2,219 (2.34%) against the supplied reference; this is one recording, not a general or multilingual accuracy evaluation. A separate full-recording trace recorded 1,844 ANE predictions and zero GPU intervals. Placement is not a measure of arithmetic utilization.

Device specialization and loading

For the same 59-component shared-shape source configuration on this Mac:

Observed preparation Time
First full-model preparation, including recovery of missing editor caches 24 min 2 s
Immediate cached relaunch 0.775 s
Later preparation after further cache-load failures 19 min 6 s
Following cached short-clip launch 0.762 s

Preparation includes model loading and compilation requested by Core AI, before warmup or transcription. These observations do not isolate a clean first-install compile or the incremental cost of adding shapes. They preceded removal of authoring debug metadata, which preserves computation but changes artifact identity. Underlying ANE cache state is not fully observable, and cache loss or OS/device/application changes can require specialization again. These Mac measurements are not iPhone startup estimates.

Identity and Version

Repository
coder543/granite-speech-4.1-2b-nar-glade
Publisher
Josh Leverette
Task
Speech recognition
Modality
Audio
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en, fr, de, es, pt
Revision
350774a2193b17a079c17557aa2b259d746fa621
First published
2026-09-26
Last updated
2026-10-09

Files and Weights

183 files, 2.7 GB in total.

Configuration60 files · 10.0 KB
Tokenizer1 file · 7.2 MB
Documentation2 files · 15.9 KB
Other119 files · 2.7 GB
Repository1 file · 5.4 KB
Every file
FileTypeSizeSHA-256
ctc_head.aimodel/metadata.jsonConfiguration105 B —
editor_0.aimodel/metadata.jsonConfiguration105 B —
editor_1.aimodel/metadata.jsonConfiguration105 B —
editor_10.aimodel/metadata.jsonConfiguration105 B —
editor_11.aimodel/metadata.jsonConfiguration105 B —
editor_12.aimodel/metadata.jsonConfiguration105 B —
editor_13.aimodel/metadata.jsonConfiguration105 B —
editor_14.aimodel/metadata.jsonConfiguration105 B —
editor_15.aimodel/metadata.jsonConfiguration105 B —
editor_16.aimodel/metadata.jsonConfiguration105 B —
editor_17.aimodel/metadata.jsonConfiguration105 B —
editor_18.aimodel/metadata.jsonConfiguration105 B —
editor_19.aimodel/metadata.jsonConfiguration105 B —
editor_2.aimodel/metadata.jsonConfiguration105 B —
editor_20.aimodel/metadata.jsonConfiguration105 B —
editor_21.aimodel/metadata.jsonConfiguration105 B —
editor_22.aimodel/metadata.jsonConfiguration105 B —
editor_23.aimodel/metadata.jsonConfiguration105 B —
editor_24.aimodel/metadata.jsonConfiguration105 B —
editor_25.aimodel/metadata.jsonConfiguration105 B —
editor_26.aimodel/metadata.jsonConfiguration105 B —
editor_27.aimodel/metadata.jsonConfiguration105 B —
editor_28.aimodel/metadata.jsonConfiguration105 B —
editor_29.aimodel/metadata.jsonConfiguration105 B —
editor_3.aimodel/metadata.jsonConfiguration105 B —
editor_30.aimodel/metadata.jsonConfiguration105 B —
editor_31.aimodel/metadata.jsonConfiguration105 B —
editor_32.aimodel/metadata.jsonConfiguration105 B —
editor_33.aimodel/metadata.jsonConfiguration105 B —
editor_34.aimodel/metadata.jsonConfiguration105 B —
editor_35.aimodel/metadata.jsonConfiguration105 B —
editor_36.aimodel/metadata.jsonConfiguration105 B —
editor_37.aimodel/metadata.jsonConfiguration105 B —
editor_38.aimodel/metadata.jsonConfiguration105 B —
editor_39.aimodel/metadata.jsonConfiguration105 B —
editor_4.aimodel/metadata.jsonConfiguration105 B —
editor_5.aimodel/metadata.jsonConfiguration105 B —
editor_6.aimodel/metadata.jsonConfiguration105 B —
editor_7.aimodel/metadata.jsonConfiguration105 B —
editor_8.aimodel/metadata.jsonConfiguration105 B —
editor_9.aimodel/metadata.jsonConfiguration105 B —
editor_head.aimodel/metadata.jsonConfiguration105 B —
encoder_0.aimodel/metadata.jsonConfiguration105 B —
encoder_1.aimodel/metadata.jsonConfiguration105 B —
encoder_10.aimodel/metadata.jsonConfiguration105 B —
encoder_11.aimodel/metadata.jsonConfiguration105 B —
encoder_12.aimodel/metadata.jsonConfiguration105 B —
encoder_13.aimodel/metadata.jsonConfiguration105 B —
encoder_14.aimodel/metadata.jsonConfiguration105 B —
encoder_15.aimodel/metadata.jsonConfiguration105 B —
encoder_2.aimodel/metadata.jsonConfiguration105 B —
encoder_3.aimodel/metadata.jsonConfiguration105 B —
encoder_4.aimodel/metadata.jsonConfiguration105 B —
encoder_5.aimodel/metadata.jsonConfiguration105 B —
encoder_6.aimodel/metadata.jsonConfiguration105 B —
encoder_7.aimodel/metadata.jsonConfiguration105 B —
encoder_8.aimodel/metadata.jsonConfiguration105 B —
encoder_9.aimodel/metadata.jsonConfiguration105 B —
metadata.jsonConfiguration3.8 KB —
projector.aimodel/metadata.jsonConfiguration105 B —
LICENSEDocumentation11.4 KB —
README.mdDocumentation4.5 KB —
ctc_head.aimodel/main.hashOther32 B —
ctc_head.aimodel/main.mlirbOther103.2 MB 077a65f76b54
editor_0.aimodel/main.hashOther32 B —
editor_0.aimodel/main.mlirbOther35.8 MB e0ee6d6fe226
editor_1.aimodel/main.hashOther32 B —
editor_1.aimodel/main.mlirbOther35.8 MB 6cf96f4df2d9
editor_10.aimodel/main.hashOther32 B —
editor_10.aimodel/main.mlirbOther35.8 MB 90b936f6b1e7
editor_11.aimodel/main.hashOther32 B —
editor_11.aimodel/main.mlirbOther35.8 MB 77567f49d0ff
editor_12.aimodel/main.hashOther32 B —
editor_12.aimodel/main.mlirbOther35.8 MB 9402c1ff6f49
editor_13.aimodel/main.hashOther32 B —
editor_13.aimodel/main.mlirbOther35.8 MB bc46e6be16e3
editor_14.aimodel/main.hashOther32 B —
editor_14.aimodel/main.mlirbOther35.8 MB 78d90311f227
editor_15.aimodel/main.hashOther32 B —
editor_15.aimodel/main.mlirbOther35.8 MB 1e3728cf518d
editor_16.aimodel/main.hashOther32 B —
editor_16.aimodel/main.mlirbOther35.8 MB 8f444af96bd1
editor_17.aimodel/main.hashOther32 B —
editor_17.aimodel/main.mlirbOther35.8 MB 61b01fa127c5
editor_18.aimodel/main.hashOther32 B —
editor_18.aimodel/main.mlirbOther35.8 MB 1d00b4439d03
editor_19.aimodel/main.hashOther32 B —
editor_19.aimodel/main.mlirbOther35.8 MB 6eeb5d14adf3
editor_2.aimodel/main.hashOther32 B —
editor_2.aimodel/main.mlirbOther35.8 MB 01ed44afa3f0
editor_20.aimodel/main.hashOther32 B —
editor_20.aimodel/main.mlirbOther35.8 MB 15854cbdaecf
editor_21.aimodel/main.hashOther32 B —
editor_21.aimodel/main.mlirbOther35.8 MB a3c353c4be45
editor_22.aimodel/main.hashOther32 B —
editor_22.aimodel/main.mlirbOther35.8 MB 54c1446f9c59
editor_23.aimodel/main.hashOther32 B —
editor_23.aimodel/main.mlirbOther35.8 MB 7dcbe692324e
editor_24.aimodel/main.hashOther32 B —
editor_24.aimodel/main.mlirbOther35.8 MB c041bfa7ea85
editor_25.aimodel/main.hashOther32 B —
editor_25.aimodel/main.mlirbOther35.8 MB 5ecbc49fb602
editor_26.aimodel/main.hashOther32 B —
editor_26.aimodel/main.mlirbOther35.8 MB 34944dca810b
editor_27.aimodel/main.hashOther32 B —
editor_27.aimodel/main.mlirbOther35.8 MB 2a43cd95a335
editor_28.aimodel/main.hashOther32 B —
editor_28.aimodel/main.mlirbOther35.8 MB 33e51422c929
editor_29.aimodel/main.hashOther32 B —
editor_29.aimodel/main.mlirbOther35.8 MB 4eca1c85bdf2
editor_3.aimodel/main.hashOther32 B —
editor_3.aimodel/main.mlirbOther35.8 MB 92eef69cd196
editor_30.aimodel/main.hashOther32 B —
editor_30.aimodel/main.mlirbOther35.8 MB 40749199ae1d
editor_31.aimodel/main.hashOther32 B —
editor_31.aimodel/main.mlirbOther35.8 MB 6f8b5235e783
editor_32.aimodel/main.hashOther32 B —
editor_32.aimodel/main.mlirbOther35.8 MB 712a135913ea
editor_33.aimodel/main.hashOther32 B —
editor_33.aimodel/main.mlirbOther35.8 MB 87edab34fb43
editor_34.aimodel/main.hashOther32 B —
editor_34.aimodel/main.mlirbOther35.8 MB e0ff5e8ed441
editor_35.aimodel/main.hashOther32 B —
editor_35.aimodel/main.mlirbOther35.8 MB 5ec7f808af85
editor_36.aimodel/main.hashOther32 B —
editor_36.aimodel/main.mlirbOther35.8 MB 58e4ffb83096
editor_37.aimodel/main.hashOther32 B —
editor_37.aimodel/main.mlirbOther35.8 MB 0aa323aa8c4c
editor_38.aimodel/main.hashOther32 B —
editor_38.aimodel/main.mlirbOther35.8 MB 1b19bdcb85e8
editor_39.aimodel/main.hashOther32 B —
editor_39.aimodel/main.mlirbOther35.8 MB 4f676b395c08
editor_4.aimodel/main.hashOther32 B —
editor_4.aimodel/main.mlirbOther35.8 MB 33dc4e326cd1
editor_5.aimodel/main.hashOther32 B —
editor_5.aimodel/main.mlirbOther35.8 MB fa668ac8ad5b
editor_6.aimodel/main.hashOther32 B —
editor_6.aimodel/main.mlirbOther35.8 MB c322afe094c3
editor_7.aimodel/main.hashOther32 B —
editor_7.aimodel/main.mlirbOther35.8 MB f489dc4b73cf
editor_8.aimodel/main.hashOther32 B —
editor_8.aimodel/main.mlirbOther35.8 MB fdfb9eba312d
editor_9.aimodel/main.hashOther32 B —
editor_9.aimodel/main.mlirbOther35.8 MB a2d71a320e3a
editor_head.aimodel/main.hashOther32 B —
editor_head.aimodel/main.mlirbOther205.8 MB 00c29cd8ecf5
embeddings.f16Other411.0 MB 1fa3d6f7fea9
encoder_0.aimodel/main.hashOther32 B —
encoder_0.aimodel/main.mlirbOther30.9 MB 331382243b6a
encoder_1.aimodel/main.hashOther32 B —
encoder_1.aimodel/main.mlirbOther30.7 MB 7aeacbe4f89f
encoder_10.aimodel/main.hashOther32 B —
encoder_10.aimodel/main.mlirbOther30.7 MB a2770784610f
encoder_11.aimodel/main.hashOther32 B —
encoder_11.aimodel/main.mlirbOther30.7 MB dcfcc0743237
encoder_12.aimodel/main.hashOther32 B —
encoder_12.aimodel/main.mlirbOther30.7 MB b81e47c9a2ef
encoder_13.aimodel/main.hashOther32 B —
encoder_13.aimodel/main.mlirbOther30.7 MB 1dd7bb35542c
encoder_14.aimodel/main.hashOther32 B —
encoder_14.aimodel/main.mlirbOther30.7 MB f394acf42d39
encoder_15.aimodel/main.hashOther32 B —
encoder_15.aimodel/main.mlirbOther30.7 MB e3e96e140e41
encoder_2.aimodel/main.hashOther32 B —
encoder_2.aimodel/main.mlirbOther30.7 MB b0d528033a96
encoder_3.aimodel/main.hashOther32 B —
encoder_3.aimodel/main.mlirbOther30.7 MB 6ace1e70898e
encoder_4.aimodel/main.hashOther32 B —
encoder_4.aimodel/main.mlirbOther30.7 MB c6e75b8b7f1a
encoder_5.aimodel/main.hashOther32 B —
encoder_5.aimodel/main.mlirbOther30.7 MB 288cb2a99998
encoder_6.aimodel/main.hashOther32 B —
encoder_6.aimodel/main.mlirbOther30.7 MB c27971760a84
encoder_7.aimodel/main.hashOther32 B —
encoder_7.aimodel/main.mlirbOther31.4 MB 710d1836d5a3
encoder_8.aimodel/main.hashOther32 B —
encoder_8.aimodel/main.mlirbOther30.7 MB 4906a0111d81
encoder_9.aimodel/main.hashOther32 B —
encoder_9.aimodel/main.mlirbOther30.7 MB bff943939e2b
projector.aimodel/main.hashOther32 B —
projector.aimodel/main.mlirbOther80.0 MB 44b3484d4a41
.gitattributesRepository5.4 KB —
tokenizer.jsonTokenizer7.2 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download from Josh Leverette

Released by Josh Leverette through its official repository on Hugging Face. Read the license.

Built From

  • Derived from ibm-granite/granite-speech-4.1-2b-nar
  • Quantized from ibm-granite/granite-speech-4.1-2b-nar

Questions About granite-speech-4.1-2b-nar-glade

Can I use granite-speech-4.1-2b-nar-glade commercially?

Yes. granite-speech-4.1-2b-nar-glade is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Speech recognition

wav2vec2-large-xlsr-53-japanese

Jonatas Grosman

Fine-tuned facebook/wav2vec2-large-xlsr-53 on Japanese using the train and validation splits of Common Voice 6.1, CSS10 and JSUT. When using this model, make sure that your speech input is sampled at 16kHz. This model has been fine-tuned thanks to the GPU credits generously given by the OVHcloud:) The script used for training can be found here: https://github.com/jonatasgrosman/wav2vec2-sprint The model can be used directly (without a language model) as follows... Using the HuggingSound library: The model can be evaluated as follows on the Japanese test data of Common Voice. In the table below I report the Word Error Rate (WER) and the Character Error Rate (CER) of the model. I ran the…

Open weights apache-2.0 transformers

Model · Speech recognition

whisperkit-coreml

Argmax

WhisperKit is part of Argmax OSS, an On-device Speech AI SDK for Apple Silicon: https://github.com/argmaxinc/argmax-oss-swift Check out the WhisperKit paper and presentation from ICML 2025: https://icml.cc/virtual/2025/47854 For real-time transcription with speakers and custom vocabulary, check out Argmax Pro SDK: https://www.argmaxinc.com/blog/argmax-sdk-2

Open weights mit whisperkit

Model · Speech recognition

speaker-diarization-3.1

Pyannote

Using this open-source model in production? Consider switching to pyannoteAI for better and faster options. This pipeline is the same as pyannote/speaker-diarization-3.0 except it removes the problematic use of onnxruntime. Both speaker segmentation and embedding now run in pure PyTorch. This should ease deployment and possibly speed up inference. It requires pyannote.audio version 3.1 or higher. It ingests mono audio sampled at 16kHz and outputs speaker diarization as an Annotation instance: - stereo or multi-channel audio files are automatically downmixed to mono by averaging the channels. - audio files sampled at a different rate are resampled to 16kHz automatically upon loading. 1.…

Access requested at publisher mit pyannote-audio

Model · Speech recognition

speaker-diarization-community-1

Pyannote

This pipeline ingests mono audio sampled at 16kHz and outputs speaker diarization. - stereo or multi-channel audio files are automatically downmixed to mono by averaging the channels. - audio files sampled at a different rate are resampled to 16kHz automatically upon loading. The main improvements brought by Community-1 are: - improved speaker assignment and counting - simpler reconciliation with transcription timestamps with exclusive speaker diarization - easy offline use (i.e. without internet connection) - (optionally) hosted on pyannoteAI cloud 1. pip install pyannote.audio 3. Create access token at hf.co/settings/tokens. Out of the box, Community-1 is much better than…

Access requested at publisher cc-by-4.0 pyannote-audio

Model · Speech recognition

faster-whisper-small

Systran

This repository contains the conversion of openai/whisper-small to the CTranslate2 model format. This model can be used in CTranslate2 or projects based on CTranslate2 such as faster-whisper. The original model was converted with the following command: Note that the model weights are saved in FP16. This type can be changed when the model is loaded using the computetype option in CTranslate2. For more information about the original model, see its model card.

Open weights mit ctranslate2

Fine-tuned facebook/wav2vec2-large-xlsr-53 on Portuguese using the train and validation splits of Common Voice 6.1. When using this model, make sure that your speech input is sampled at 16kHz. This model has been fine-tuned thanks to the GPU credits generously given by the OVHcloud:) The script used for training can be found here: https://github.com/jonatasgrosman/wav2vec2-sprint The model can be used directly (without a language model) as follows... Using the HuggingSound library: 1. To evaluate on mozilla-foundation/commonvoice60 with split test 2. To evaluate on speech-recognition-community-v2/devdata If you want to cite this model you can use this

Open weights apache-2.0 transformers