Skip to page content
SAVRN
Search Plan a project

Open-weight model · Speech recognition

parakeet-tdt-ctc-110m-glade

by Josh Leverette coder543/parakeet-tdt-ctc-110m-glade

parakeet-tdt-ctc-110m-glade is an open-weight model for speech recognition from Josh Leverette, released under Creative Commons Attribution 4.0. Its published files total 435.7 MB. It draws 20 downloads a month.

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—
Weights119.8 MB
Licensecc-by-4.0
AccessOpen weights
Monthly Downloads20

Model Card

By Josh Leverette, published under cc-by-4.0, revision 480c5df60041.

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. Apple Neural Engine conversions of NVIDIA's Parakeet TDT–CTC 110M. Each Core AI profile supports TDT and CTC decoding from the same encoder, with native token and word timings. A portable Core ML graph bundle is included as a bonus, qualified on Mac, iPhone and Apple Watch. The English model has a 17-layer, 512-wide FastConformer encoder, a one-layer 640-wide LSTM TDT predictor, and a separate CTC head. These conversions preserve the original weights without…

Read Josh Leverette's full model card

Parakeet TDT–CTC 110M for Core AI

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.

Apple Neural Engine conversions of NVIDIA's Parakeet TDT–CTC 110M. Each Core AI profile supports TDT and CTC decoding from the same encoder, with native token and word timings. A portable Core ML graph bundle is included as a bonus, qualified on Mac, iPhone and Apple Watch.

The English model has a 17-layer, 512-wide FastConformer encoder, a one-layer 640-wide LSTM TDT predictor, and a separate CTC head. These conversions preserve the original weights without retraining. W8A16 compresses learned acoustic matrices; sensitive convolution outputs and relative-position projections retain FP16 precision. The TDT graph uses FP16; the optional CPU predictor uses the original FP32 weights.

Bundles

Download one complete directory, including its metadata and sidecars:

Directory Framework Chunk policy Encoder positions Download
fast/ Core AI Fixed cuts, up to 15 seconds 192 144.7 MB
quality/ Core AI Fixed cuts, up to 120 seconds 1,504 149.7 MB
coreml/ Core ML Fixed cuts, up to 15 seconds 192 141.3 MB

Fast favors throughput. Quality provides more context and had lower WER on the tested speech, at a substantial runtime cost. This is a result on one recording, not a broad accuracy ranking. Both retain full bidirectional attention within each chunk; longer recordings are processed through contiguous chunks without dropping samples. These chunk lengths are distribution policies, not the upstream model's maximum supported context. There is no VAD or silence removal in these policies.

Core AI requires a physical Apple device with macOS/iOS 27 and Core AI support. The Core ML graphs were qualified on macOS/iOS/watchOS 27.0.1. These are source .aimodel and .mlpackage assets, not architecture-specific compiled caches; first use includes device specialization. Core AI could not execute the model on the tested Watch release; Core ML CPU+ANE did.

Measured Core AI performance

JFK's “We choose to go to the Moon” speech: a 20-second excerpt and the complete 18 min 15 s recording (1,095.32 seconds). RTFx is audio seconds divided by inference seconds; higher is better. Release runtimes, three-run medians after preparation and a separate warmup. Timing includes bounded audio reading, chunking, frontend, acoustic predictions, decoding, native timing construction and ordered delivery. Model preparation and report serialization are excluded.

Device Profile Mode 20s inference 20s RTFx Full inference Full RTFx
M3 MacBook Air, 16 GB Fast CTC 19.3 ms 1,035× 0.613 s 1,787×
M3 MacBook Air, 16 GB Fast TDT 73.3 ms 273× 0.684 s 1,602×
M3 MacBook Air, 16 GB Quality CTC 115.3 ms 173× 1.172 s 935×
M3 MacBook Air, 16 GB Quality TDT 127.5 ms 157× 2.354 s 465×
iPhone 15 Pro Max Fast CTC 21.6 ms 926× 0.700 s 1,565×
iPhone 15 Pro Max Fast TDT 69.3 ms 289× 0.849 s 1,291×
iPhone 15 Pro Max Quality CTC 123.5 ms 162× 1.362 s 804×
iPhone 15 Pro Max Quality TDT 136.3 ms 147× 2.839 s 386×

macOS 27.0.1 (26A434), iOS 27.0.1 (24A446). Each acoustic prediction contains one chunk; the runtime maintains up to four concurrent requests. This is concurrency, not a four-chunk encoder tensor batch. TDT uses CPU decoding for at most two chunks and a batched ANE predictor for larger recordings. CTC does not load the recurrent predictor.

The final Core AI packages reproduce their qualified Mac transcripts exactly. Fast phone timings are from the equivalent graphs before compiler source-location metadata was stripped; their graph signatures, operations and weights were preserved, and the stripped packages were remeasured on Mac. Quality was measured from the final package on both devices. Every timed repetition reproduced its own tokens and retained every sample. Quality transcripts differ slightly between Mac and iPhone; normalized WER on this recording was:

Profile Mac CTC Mac TDT iPhone CTC iPhone TDT
Fast 4.50% 4.14% 4.50% 4.14%
Quality 3.06% 2.93% 3.33% 3.02%

WER uses the benchmark's reference transcript, Whisper English normalization and ordinary word edit distance (2,220 reference words). It includes chunk-boundary errors. Native timings are finite, ordered and bounded by the audio, but have not been scored against human-annotated word boundaries.

Complete iPhone traces captured ANE execution in both profiles with zero target-process GPU intervals. Placement demonstrates execution, not arithmetic utilization, memory-bandwidth utilization or energy efficiency. Short runs are particularly sensitive to scheduling overhead.

Preparation

Preparation includes loading and any specialization requested by Apple's backend. These are observed first preparations, not controlled cache-cleared fresh-install guarantees. The underlying compiler cache is opaque; cache state, software and hardware can change the result.

Device / profile Observed first preparation Subsequent cached preparation
M3 / Core AI Fast About 17.5 s About 0.03 s
iPhone / Core AI Fast 19.2 s About 0.05–0.12 s
M3 / Core AI Quality About 57.3 s About 0.09 s
iPhone / Core AI Quality 64.6 s About 0.06–0.08 s
M3 / Core ML About 33.1 s About 0.16 s
iPhone / Core ML About 18.4 s About 0.27 s
Apple Watch Ultra 4 / Core ML About 58.4 s About 0.9 s

The Mac Core AI first observations combine separately measured acoustic and TDT predictor preparation components. A later first load of the packaged Fast assets took 3.16 seconds for the acoustic stages, consistent with reuse of previously compiled backend work; it does not replace the initial observation above. Core ML observations include platform compilation/loading of the source packages where required.

Core ML bonus

The same portable 15-second source graphs, with four concurrent public asynchronous acoustic requests, CPU+ANE compute units and CPU TDT decoding. One model instance is shared per stage; an eight-chunk refill queue bounds buffered audio. Frontend and decoder run on the CPU and can overlap acoustic work.

Device Full CTC inference CTC RTFx Full TDT inference TDT RTFx
M3 MacBook Air 0.634 s 1,727× 0.657 s 1,668×
iPhone 15 Pro Max 0.862 s 1,270× 0.919 s 1,192×
Apple Watch Ultra 4 4.169 s 263× 4.490 s 244×

The Watch uses watchOS 27.0.1 (24R365), hardware identifier Watch8,1. Mac and iPhone Core ML transcripts match exactly; the Watch differs by one CTC word and one TDT punctuation mark. Its WER is 4.55% CTC / 4.14% TDT. A complete iPhone Core ML TDT capture contains 148 ANE predictions and zero app GPU intervals. Decoder placement differs from the Core AI runtime, so this compares implemented runtimes rather than holding every scheduling choice identical.

Runtime contract

These are tensor graph bundles, not standalone audio-to-text model files. A host runtime must implement the frontend, chunk scheduling, vocabulary decoding and timing assembly. metadata.json publishes the geometry, vocabulary, frame rate and numerical conventions; runtime.json publishes the recommended policy. Read these files instead of hardcoding profile shapes. Resolve one Hub snapshot for a download, and validate files using Hub-provided hashes.

The frontend expects mono 16 kHz audio, checkpoint preemphasis, its supplied 400-sample symmetric Hann window, a zero-padded 512-point STFT with 160-sample hop, the supplied 80-bin mel matrix, log compression and per-feature sample-standard-deviation normalization.

Each Core AI profile contains:

  • subsampling.aimodel: padded mel input [1,1,80,8S] and three stride masks; returns [1,512,1,S] acoustic features.
  • encoder.aimodel: acoustic features plus [1,1,1,S] valid-position mask; returns [1,640,1,S] TDT features and [1,1,1,S] CTC token IDs. Entrypoint is frames_S, where S is the profile's published encoder position count.
  • decoder_batch.aimodel: batch_16, batch_32, batch_64 and batch_128 TDT predictor/joint functions with shared weights. Each lane has independent recurrent state. CTC uses argmax-and-collapse and does not need this asset.
  • decoder.json / decoder.f32: original CPU predictor parameters with offsets and shapes.
  • vocabulary.json, mel-filter.f32, window.f32, LICENSE and NOTICE.

The Core ML directory contains portable subsampling.mlpackage and encoder.mlpackage, the same host sidecars, and separate metadata. Encoder outputs are named encoded and ctc_tokens; source input/output shapes are fixed at the 192-position geometry. Compile the packages for the target platform and load with CPU+ANE policy. Implement CTC collapse or the supplied CPU TDT predictor outside these graphs. The recurrent decoder is not a separate Core ML model.

Native token and word timestamps use the 80 ms encoder grid. Chunk offsets must be added when assembling a complete recording. Blank ID is 1,024; TDT duration classes are [0,1,2,3,4]. Preserve the source greedy decoding and maximum-symbol policy published in metadata.

Attribution

Upstream: NVIDIA Parakeet TDT–CTC 110M, revision 431a349f3051ab85c22b9b7a2741b5fe77065665. The checkpoint is distributed under CC-BY-4.0. Conversion and qualification by coder543; see NOTICE. Quantization and execution layout changes do not constitute fine-tuning. Measurements were taken October 1, 2026.

Identity and Version

Repository
coder543/parakeet-tdt-ctc-110m-glade
Publisher
Josh Leverette
Task
Speech recognition
Modality
Audio
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
480c5df60041ce17a4165bf1c88bd56ba58abbe3
First published
2026-10-01
Last updated
2026-10-09

Files and Weights

55 files, 435.7 MB in total. The weights are 4 files totalling 119.8 MB in bin, mlmodel.

Weights4 files · 119.8 MB
Configuration20 files · 33.3 KB
Documentation9 files · 87.8 KB
Other21 files · 315.7 MB
Repository1 file · 2.1 KB
Every file
FileTypeSizeSHA-256
coreml/encoder.mlpackage/Data/com.apple.CoreML/model.mlmodelWeights1.8 MB 1d70ac81a1e8
coreml/encoder.mlpackage/Data/com.apple.CoreML/weights/weight.binWeights116.6 MB 03e66cb0ca88
coreml/subsampling.mlpackage/Data/com.apple.CoreML/model.mlmodelWeights10.7 KB 40231f952637
coreml/subsampling.mlpackage/Data/com.apple.CoreML/weights/weight.binWeights1.5 MB bb60e351288d
coreml/decoder.jsonConfiguration621 B —
coreml/encoder.mlpackage/Manifest.jsonConfiguration617 B —
coreml/metadata.jsonConfiguration718 B —
coreml/runtime.jsonConfiguration283 B —
coreml/subsampling.mlpackage/Manifest.jsonConfiguration617 B —
coreml/vocabulary.jsonConfiguration9.0 KB —
fast/decoder.jsonConfiguration621 B —
fast/decoder_batch.aimodel/metadata.jsonConfiguration105 B —
fast/encoder.aimodel/metadata.jsonConfiguration105 B —
fast/metadata.jsonConfiguration609 B —
fast/runtime.jsonConfiguration158 B —
fast/subsampling.aimodel/metadata.jsonConfiguration105 B —
fast/vocabulary.jsonConfiguration9.0 KB —
quality/decoder.jsonConfiguration621 B —
quality/decoder_batch.aimodel/metadata.jsonConfiguration105 B —
quality/encoder.aimodel/metadata.jsonConfiguration105 B —
quality/metadata.jsonConfiguration608 B —
quality/runtime.jsonConfiguration162 B —
quality/subsampling.aimodel/metadata.jsonConfiguration105 B —
quality/vocabulary.jsonConfiguration9.0 KB —
LICENSEDocumentation18.7 KB —
NOTICEDocumentation703 B —
README.mdDocumentation10.4 KB —
coreml/LICENSEDocumentation18.7 KB —
coreml/NOTICEDocumentation703 B —
fast/LICENSEDocumentation18.7 KB —
fast/NOTICEDocumentation703 B —
quality/LICENSEDocumentation18.7 KB —
quality/NOTICEDocumentation703 B —
coreml/decoder.f32Other21.3 MB 20e38e2d5d08
coreml/mel-filter.f32Other82.2 KB —
coreml/window.f32Other1.6 KB —
fast/decoder.f32Other21.3 MB 20e38e2d5d08
fast/decoder_batch.aimodel/main.hashOther32 B —
fast/decoder_batch.aimodel/main.mlirbOther5.4 MB d6e0e75f75e8
fast/encoder.aimodel/main.hashOther32 B —
fast/encoder.aimodel/main.mlirbOther116.3 MB 7e6dc2ab495c
fast/mel-filter.f32Other82.2 KB —
fast/subsampling.aimodel/main.hashOther32 B —
fast/subsampling.aimodel/main.mlirbOther1.5 MB 23a1ca845a90
fast/window.f32Other1.6 KB —
quality/decoder.f32Other21.3 MB 20e38e2d5d08
quality/decoder_batch.aimodel/main.hashOther32 B —
quality/decoder_batch.aimodel/main.mlirbOther5.4 MB df2cf43fbd1a
quality/encoder.aimodel/main.hashOther32 B —
quality/encoder.aimodel/main.mlirbOther121.4 MB 94e79c30ebd2
quality/mel-filter.f32Other82.2 KB —
quality/subsampling.aimodel/main.hashOther32 B —
quality/subsampling.aimodel/main.mlirbOther1.5 MB cbbed7ed2ccb
quality/window.f32Other1.6 KB —
.gitattributesRepository2.1 KB —

License and Download

License
cc-by-4.0
Access
Open weights, no gate
Download size
119.8 MB
Download from Josh Leverette

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

Built From

  • Derived from nvidia/parakeet-tdt_ctc-110m
  • Quantized from nvidia/parakeet-tdt_ctc-110m

Memory Requirements

PrecisionWeights in memory
As published119.8 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About parakeet-tdt-ctc-110m-glade

Can I use parakeet-tdt-ctc-110m-glade commercially?

Yes. parakeet-tdt-ctc-110m-glade is released under Creative Commons Attribution 4.0. CC BY 4.0 permits sharing and adapting the work, including commercially, provided the creator is credited and changes are indicated.

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