Granite Speech 5.0 470M TurboCTC 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.
Glade source asset for IBM's English CTC speech recognizer, pinned to
286456107c8ba1161f5c22dfe85466402c88333b.
The upstream model and these converted weights use Apache License 2.0.
Requires physical Apple silicon with macOS 27 or iOS 27 and Glade's host
runtime. This is a source .aimodel, which Core AI specializes on the device.
It is not a precompiled .aimodelc or a standalone transcription application.
Model interface
One static entry point, frames_3072, handles up to 3,072 feature positions
at approximately 50 positions per second. Use chunks of at most 60 seconds
for longer recordings, preserve all input audio, and pad shorter chunks with
the correct validity mask. The host must implement the model-specific
log-mel/delta frontend, CTC collapse, tokenization and chunk concatenation.
The graph accepts features, not raw audio.
Weights use INT8 with FP16 activations; convolution output projections and
relative-position projection weights retain FP16. All 16 encoder layers are
fused into one graph. Each GLU uses one combined projection, and the final
vocabulary projection shares its stored weights with the self-conditioning
projection. Fourier relative attention retains every offset and frequency of
the learned table; no attention window or context is reduced.
metadata.json is the authoritative model configuration. Hugging Face provides checksums
for the files in each repository snapshot. The complete source bundle is about 509 MB.
Measured transcription performance
September 27, 2026. 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. These are
warm Release measurements, excluding model preparation. Larger audio/elapsed
ratios mean faster transcription.
| Device |
Audio |
Median transcription |
Audio / elapsed |
| M3 MacBook Air, 16 GB |
20 seconds |
0.123 s |
163× |
| M3 MacBook Air, 16 GB |
18 min 15 s |
2.433 s |
450× |
| iPhone 15 Pro Max |
20 seconds |
0.145 s |
138× |
| iPhone 15 Pro Max |
18 min 15 s |
3.029 s |
362× |
Mac: macOS 27 build 26A428, five short runs and five long runs; frontend,
encoder and CTC decoding included, file I/O and chunk planning excluded.
Phone: iOS 27.0 build 24A437, three short and three full-recording passes including
bounded file reading, chunking, frontend, inference and decoding. Full phone
times ranged from 3.00 to 3.10 seconds. All reported passes stayed in the foreground
with normal reported thermal state. Both runtimes allow two encoder requests
in flight and use 21 quiet-boundary chunks of at most 60 seconds for the full
recording. The single shape also pads the short excerpt to its full capacity.
A separate complete phone trace captured 21 unique Neural Engine predictions
across all 21 model calls and zero target-process GPU intervals. This verifies
ANE execution for the tested graph, not arithmetic utilization or placement on
untested OS/device versions. The host frontend and CTC decoding run on the CPU.
Whisper-normalized WER on the supplied full-recording transcript was
61/2,220 (2.75%) on the Mac and 56/2,220 (2.52%) on the phone. Native
rounding differs across devices. One English recording is a conversion check,
not a general accuracy benchmark.
Specialization and cached loading
| Device |
Observed preparation with specialization |
Cached preparation |
| M3 MacBook Air |
90.5 s |
0.037 s |
| iPhone 15 Pro Max |
5.72 s (existing underlying caches) |
0.051 s |
Preparation includes loading and compilation requested by Core AI, before
warmup and transcription. These devices had previously tested related graphs;
underlying ANE cache reuse is opaque, so these are observed preparation times,
not guaranteed pristine-device cold starts. OS/device/application changes or
cache eviction can require preparation again.
Both devices were measured using the distributed asset, with authoring debug
metadata removed. The phone preparation measurement does not establish a
fresh compilation time: it reused underlying caches from prior related graph
preparations. ANE preference alone does not guarantee placement; qualify other
shapes and devices independently.