Skip to page content
SAVRN
Search Plan a project

Open-weight model · Speech recognition

phonon-2-glade-experimental

by Josh Leverette coder543/phonon-2-glade-experimental

phonon-2-glade-experimental is an open-weight model for speech recognition from Josh Leverette, released under Creative Commons Attribution 4.0. Its published files total 1.9 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—
Weights1.9 GB
Licensecc-by-4.0
AccessOpen weights
Monthly Downloads—

Model Card

By Josh Leverette, published under cc-by-4.0, revision 0b0ddb5f4786.

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. Three experimental conversions of Fermion Research's Phonon-2 for Apple silicon and Core AI APIs on macOS/iOS 27. LUT6 is recommended for speed. The other variants expose the tradeoff between download size, working memory, and inference time. Phonon-2 is an encoder-heavy FastConformer/TDT model derived from NVIDIA Parakeet V3. The conversions preserve its trained five-value encoder weights and original INT6 decoder values. They use FP16 activations and the…

Read Josh Leverette's full model card

Phonon-2 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.

Three experimental conversions of Fermion Research's Phonon-2 for Apple silicon and Core AI APIs on macOS/iOS 27. LUT6 is recommended for speed. The other variants expose the tradeoff between download size, working memory, and inference time.

Phonon-2 is an encoder-heavy FastConformer/TDT model derived from NVIDIA Parakeet V3. The conversions preserve its trained five-value encoder weights and original INT6 decoder values. They use FP16 activations and the publisher's pause-based chunking policy: 25–35 seconds, targeting 30 seconds, preserving all audio. English is the qualified language.

Directory Encoder storage Unpacked files LZRAVEN archive Qualification
lut6/ Exact six-bit palettes shared across eight rows 583.4 MB 283.2 MB M3 Mac and iPhone 15 Pro Max
lut4/ Exact four-bit palettes shared across two rows 438.6 MB 235.0 MB M3 Mac and iPhone 15 Pro Max
size/ Original packed encoder records, expanded into FP16 tensor inputs at load 217.2 MB 178.6 MB M3 Mac only

Sizes use decimal MB. Each archive restores its corresponding directory byte-for-byte. Core AI specializes the extracted .aimodel assets on the device; the archives contain portable source assets, not device caches. Each directory includes its own metadata.json, runtime.json, vocabulary, frontend constants, compact decoder data, license, and attribution.

Measured performance

JFK's “We choose to go to the Moon” speech: a 20-second excerpt and the full 18-minute 15-second recording. Measurements were collected September 30, 2026. Larger RTFx means faster. All Core AI values are three-run medians after preparation and warmup.

M3 MacBook Air, 16 GB, macOS 27.0.1. Includes frontend, encoder and decoding; excludes loading, file reading and chunk planning. Full-file planning adds about 0.06 seconds.

Variant 20-second excerpt Full speech Full RTFx Sampled full-pass memory
LUT6 0.251 s 2.461 s 445.0× 1.05–1.20 GB
LUT4 0.330 s 4.470 s 245.0× 0.90 GB
Size-focused 0.365 s 5.335 s 205.3× 2.18 GB
Publisher fermion MLX defaults 0.231 s 12.668 s 86.5× 11.34 GB

All memory figures use sampled process footprint plus simultaneous attributed accelerator no-footprint memory; external or unattributed driver/compiler memory is excluded. The publisher's 11.34 GB was measured during a dedicated timed API run. Its unmodified CLI reached 12.09 GB across loading, warmup and inference. Much of that was reusable allocation cache: clearing it after completion reduced the CLI footprint to 2.30 GB with active tensors unchanged. No lower-cache performance claim is implied.

The unmodified publisher runtime was fermion-research 0.2.4 with tdt16,dense16. Its timing includes chunk planning. A separate invocation of its own benchmark CLI confirmed a 12.537-second full-speech median (87.4×). The short excerpt favors the publisher runtime; these speedups describe the long-recording workload.

iPhone 15 Pro Max, A17 Pro, iOS 27.0.1, Release build. Includes bounded WAV reading, chunk planning, frontend, encoder and decoding; preparation and report serialization are excluded. Foreground, nominal thermals, Low Power Mode off.

Variant 20-second excerpt Full speech Full RTFx Sampled full-pass memory
LUT6 0.321 s 3.075 s 356.2× 1.03 GB
LUT4 0.370 s 5.349 s 204.8× 0.90 GB
Size-focused — — — Not measured on iPhone

Preparation and placement

Variant Observed first preparation, M3 Cached preparation, M3 Observed first preparation, iPhone
LUT6 104.2 s 0.35 s 72.6 s
LUT4 179.1 s 0.18–0.66 s 243.1 s
Size-focused 49.7 s 3.56–3.59 s Not measured

These are observed first-use sessions, not repeated clean-install medians. The LUT4 Mac run reused decoder caches. LUT6 and size-focused runs reused unchanged subsampling and decoder specializations. The size-focused variant expands about 1.21 GB of FP16 encoder tensors at load, accounting for most of its cached preparation time and extra working memory. Its initial preparation was measured before a benchmark-reporting issue was corrected; subsequent clean inference runs established its numerical and performance results.

Complete warmed traces for each qualified platform/variant show 493 ANE predictions and zero target-process GPU intervals: 259 predictions during subsampling/encoding and 234 during batched decoding. CPU feature extraction and host TDT control remain outside these graphs. Placement is evidence of ANE execution, not a measurement of arithmetic utilization.

Accuracy and runtime contract

All three conversions produce identical token IDs and transcript text on the two reference clips. The phone-qualified variants match their Mac outputs. Full-speech WER is 2.93% using Whisper's English normalizer (65 errors in 2,220 reference words), equal to an independent FP32 reconstruction's normalized word sequence; the publisher MLX defaults score 3.02%. This is one recording, not a general accuracy ranking. Two full-speech chunks differ in tokenization from FP32 while preserving the normalized words.

Native word timings are returned. They are finite, ordered and within each chunk; human word-boundary accuracy has not been measured independently. The size-focused variant shifts eight full-speech word intervals relative to the palette variants, by at most 160 ms, without changing the transcript.

Use a runtime that implements the included metadata and scheduling policy. The six encoder graphs each evaluate four layers over the complete 448-position context. Valid-length masks, relative-position conventions, silence handling, TDT state and duration decoding, and compact weight expansion are part of the runtime contract. runtime.json specifies four concurrent encoder requests and ANE decoding of up to 128 independent audio chunks. The size-focused variant uses a single batched decoder asset for both single utterances and batches; its encoder weights are explicit tensor inputs.

Download

Download one variant. On macOS 27, the smaller archive can be extracted with Apple's aa tool:

hf download coder543/phonon-2-glade-experimental archives/phonon-2-lut6.aar --local-dir phonon-download
mkdir -p phonon-2-lut6
aa extract -i phonon-download/archives/phonon-2-lut6.aar -d phonon-2-lut6

For individual runtime files:

hf download coder543/phonon-2-glade-experimental --include 'lut6/*' --local-dir phonon-download

Choose lut4 or size in those paths for another design. Applications using compressed delivery need an AppleArchive/LZRAVEN extraction step before Core AI loading. Hugging Face supplies file checksums through its snapshot metadata.

Attribution

Weights are CC-BY-4.0, derived from NVIDIA Parakeet TDT 0.6B V3 and retrained/quantized by Fermion Research. The original license and NOTICE are included. Conversion changes include staged Core AI graphs, FP16 activations, exact palette or external-weight storage, compact decoder packing, and batched decoding. No retraining or pruning is performed. Compiler source-location metadata is removed from the published assets.

Source revision: 9c7fef3584499a88fe8d394427f45851bbb8b446. Tokenizer/configuration revision: 541d1f99c6b0c3cd0b11a95167540bb8edefd82b. These identify conversion provenance; consumers should resolve a consistent current repository snapshot and honor its runtime metadata.

Identity and Version

Repository
coder543/phonon-2-glade-experimental
Publisher
Josh Leverette
Task
Speech recognition
Modality
Audio
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
0b0ddb5f47861d2c369da0c9596cbe37ec80b190
First published
2026-09-30
Last updated
2026-10-09

Files and Weights

114 files, 1.9 GB in total.

Configuration39 files · 436.3 KB
Documentation9 files · 95.0 KB
Other65 files · 1.9 GB
Repository1 file · 3.9 KB
Every file
FileTypeSizeSHA-256
lut4/decoder-packed.jsonConfiguration1.9 KB —
lut4/decoder.aimodel/metadata.jsonConfiguration105 B —
lut4/decoder_batch.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_0.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_1.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_2.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_3.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_4.aimodel/metadata.jsonConfiguration105 B —
lut4/encoder_5.aimodel/metadata.jsonConfiguration105 B —
lut4/metadata.jsonConfiguration1.1 KB —
lut4/runtime.jsonConfiguration221 B —
lut4/subsampling.aimodel/metadata.jsonConfiguration105 B —
lut4/vocabulary.jsonConfiguration78.6 KB —
lut6/decoder-packed.jsonConfiguration1.9 KB —
lut6/decoder.aimodel/metadata.jsonConfiguration105 B —
lut6/decoder_batch.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_0.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_1.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_2.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_3.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_4.aimodel/metadata.jsonConfiguration105 B —
lut6/encoder_5.aimodel/metadata.jsonConfiguration105 B —
lut6/metadata.jsonConfiguration1.1 KB —
lut6/runtime.jsonConfiguration221 B —
lut6/subsampling.aimodel/metadata.jsonConfiguration105 B —
lut6/vocabulary.jsonConfiguration78.6 KB —
size/decoder-packed.jsonConfiguration1.9 KB —
size/decoder_batch.aimodel/metadata.jsonConfiguration105 B —
size/encoder-packed.jsonConfiguration188.1 KB —
size/encoder_0.aimodel/metadata.jsonConfiguration105 B —
size/encoder_1.aimodel/metadata.jsonConfiguration105 B —
size/encoder_2.aimodel/metadata.jsonConfiguration105 B —
size/encoder_3.aimodel/metadata.jsonConfiguration105 B —
size/encoder_4.aimodel/metadata.jsonConfiguration105 B —
size/encoder_5.aimodel/metadata.jsonConfiguration105 B —
size/metadata.jsonConfiguration1.1 KB —
size/runtime.jsonConfiguration221 B —
size/subsampling.aimodel/metadata.jsonConfiguration105 B —
size/vocabulary.jsonConfiguration78.6 KB —
LICENSEDocumentation18.7 KB —
NOTICEDocumentation3.0 KB —
README.mdDocumentation8.2 KB —
lut4/LICENSEDocumentation18.7 KB —
lut4/NOTICEDocumentation3.0 KB —
lut6/LICENSEDocumentation18.7 KB —
lut6/NOTICEDocumentation3.0 KB —
size/LICENSEDocumentation18.7 KB —
size/NOTICEDocumentation3.0 KB —
archives/phonon-2-lut4.aarOther235.0 MB 4b35446bfebb
archives/phonon-2-lut6.aarOther283.2 MB 5658a2b472a0
archives/phonon-2-size.aarOther178.6 MB 53e12d63150b
lut4/decoder.aimodel/main.hashOther32 B —
lut4/decoder.aimodel/main.mlirbOther42.4 MB ce3de24595f9
lut4/decoder.i6Other13.2 MB c089cf95f5f8
lut4/decoder_batch.aimodel/main.hashOther32 B —
lut4/decoder_batch.aimodel/main.mlirbOther21.2 MB 191bfba59365
lut4/encoder_0.aimodel/main.hashOther32 B —
lut4/encoder_0.aimodel/main.mlirbOther58.6 MB 6753504098e2
lut4/encoder_1.aimodel/main.hashOther32 B —
lut4/encoder_1.aimodel/main.mlirbOther58.6 MB bf2c1018fc35
lut4/encoder_2.aimodel/main.hashOther32 B —
lut4/encoder_2.aimodel/main.mlirbOther58.6 MB be6664ea3a83
lut4/encoder_3.aimodel/main.hashOther32 B —
lut4/encoder_3.aimodel/main.mlirbOther58.6 MB 87d93b8c160a
lut4/encoder_4.aimodel/main.hashOther32 B —
lut4/encoder_4.aimodel/main.mlirbOther58.6 MB 8b9cc7cff5ed
lut4/encoder_5.aimodel/main.hashOther32 B —
lut4/encoder_5.aimodel/main.mlirbOther59.9 MB 14e2e308f8fc
lut4/mel-filter.f32Other131.6 KB bce5ec5f194a
lut4/subsampling.aimodel/main.hashOther32 B —
lut4/subsampling.aimodel/main.mlirbOther8.7 MB 4ebcc0ab7ab2
lut4/window.f32Other1.6 KB —
lut6/decoder.aimodel/main.hashOther32 B —
lut6/decoder.aimodel/main.mlirbOther42.4 MB ce3de24595f9
lut6/decoder.i6Other13.2 MB c089cf95f5f8
lut6/decoder_batch.aimodel/main.hashOther32 B —
lut6/decoder_batch.aimodel/main.mlirbOther21.2 MB 191bfba59365
lut6/encoder_0.aimodel/main.hashOther32 B —
lut6/encoder_0.aimodel/main.mlirbOther82.7 MB 402478170c63
lut6/encoder_1.aimodel/main.hashOther32 B —
lut6/encoder_1.aimodel/main.mlirbOther82.7 MB 2dd127dc79d6
lut6/encoder_2.aimodel/main.hashOther32 B —
lut6/encoder_2.aimodel/main.mlirbOther82.7 MB c521e9a5e370
lut6/encoder_3.aimodel/main.hashOther32 B —
lut6/encoder_3.aimodel/main.mlirbOther82.7 MB 83a4c1bba73d
lut6/encoder_4.aimodel/main.hashOther32 B —
lut6/encoder_4.aimodel/main.mlirbOther82.7 MB 69c13ac26ca8
lut6/encoder_5.aimodel/main.hashOther32 B —
lut6/encoder_5.aimodel/main.mlirbOther84.0 MB 74b6c4c7698a
lut6/mel-filter.f32Other131.6 KB bce5ec5f194a
lut6/subsampling.aimodel/main.hashOther32 B —
lut6/subsampling.aimodel/main.mlirbOther8.7 MB 4ebcc0ab7ab2
lut6/window.f32Other1.6 KB —
size/decoder.i6Other13.2 MB c089cf95f5f8
size/decoder_batch.aimodel/main.hashOther32 B —
size/decoder_batch.aimodel/main.mlirbOther21.2 MB 191bfba59365
size/encoder.fvOther159.4 MB cc7937378f43
size/encoder_0.aimodel/main.hashOther32 B —
size/encoder_0.aimodel/main.mlirbOther2.2 MB a0ddd76ef422
size/encoder_1.aimodel/main.hashOther32 B —
size/encoder_1.aimodel/main.mlirbOther2.2 MB 8f6bc340c706
size/encoder_2.aimodel/main.hashOther32 B —
size/encoder_2.aimodel/main.mlirbOther2.2 MB f3605f28497a
size/encoder_3.aimodel/main.hashOther32 B —
size/encoder_3.aimodel/main.mlirbOther2.2 MB cd9f90ea581a
size/encoder_4.aimodel/main.hashOther32 B —
size/encoder_4.aimodel/main.mlirbOther2.2 MB 4d3176e85978
size/encoder_5.aimodel/main.hashOther32 B —
size/encoder_5.aimodel/main.mlirbOther3.5 MB 55dcf22fa19f
size/mel-filter.f32Other131.6 KB bce5ec5f194a
size/subsampling.aimodel/main.hashOther32 B —
size/subsampling.aimodel/main.mlirbOther8.7 MB 4ebcc0ab7ab2
size/window.f32Other1.6 KB —
.gitattributesRepository3.9 KB —

License and Download

License
cc-by-4.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 FermionResearch/Phonon-2
  • Quantized from FermionResearch/Phonon-2

Questions About phonon-2-glade-experimental

Can I use phonon-2-glade-experimental commercially?

Yes. phonon-2-glade-experimental 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