TranscribePsy-250M-EU-sub-coreml
Core ML build of TranscribePsy-250M-EU-sub for the Apple Neural Engine. All weight matrices, including the decoder's joint output projection, are 6-bit palettized (lookup-table quantized); only small tensors such as biases and normalization parameters stay in Float16.
It runs through the same engine as the
GGUF build:
the patched release of the parakeet.cpp engine in our qvac-fabric-speech.cpp,
which adds a batched Core ML decoder so that both the encoder and the decoder run on the
Neural Engine. We are submitting the patches upstream as a pull request.
On the same 160-utterance test set used for the phone-CPU benchmarks, it transcribes 40 minutes of audio in 32.8 seconds against 39.9 seconds for desert-ant-labs/voz, ahead on every metric we measured. On a single 10-minute recording, the protocol voz itself reports, it needs just 1.65 seconds against 2.34.
See the base model card for accuracy, architecture, and training details.
Supported languages (8): Dutch (nl), English (en), French (fr), German (de), Italian (it), Polish (pl), Portuguese (pt), Spanish (es).
Which model should I use?
| Model | Languages | Format | Use it when |
|---|---|---|---|
| TranscribePsy-250M-EU | 25 | PyTorch | You need broad European language coverage. |
| TranscribePsy-250M-EU-sub | 8 | PyTorch | You only need the eight Multilingual LibriSpeech languages and want the lowest error. |
| TranscribePsy-250M-EU-sub-gguf | 8 | GGUF (Q8_0) | You are deploying on-device through our qvac-fabric-speech.cpp engine. |
| TranscribePsy-250M-EU-sub-coreml (this card) | 8 | Core ML | You are deploying on the Apple Neural Engine. |
Files
All three must be in the same directory, with these names; the engine finds the Core ML models by name next to the GGUF.
| File | Size |
|---|---|
transcribepsy-250m-eu-sub-coreml.gguf |
17.3 MB |
transcribepsy-250m-eu-sub-coreml-encoder.mlmodelc/ |
187.4 MB |
transcribepsy-250m-eu-sub-coreml-decoder.mlmodelc/ |
7.6 MB |
Total 212.4 MB. The GGUF here holds the vocabulary, the mel filterbank and the decoder weights, not the encoder. It is not a CPU model; for CPU use the GGUF build.
Performance on the Apple Neural Engine
iPhone 17 Pro Max, Core ML, both models measured on the same audio. Lower is better.
On the 160-utterance test set
The same 160 Multilingual LibriSpeech utterances, 40 minutes of audio in total, used for the phone-CPU benchmarks.
| Metric | TranscribePsy-250M-EU-sub-coreml | desert-ant-labs / voz |
|---|---|---|
| 40-min test set transcription (cold start excluded) | 32.8 s | 39.9 s |
| Cold start | 12.4 s | 18.6 s |
| Average latency per utterance | 207.3 ms | 253.4 ms |
| Model size | 212.4 MB | 488.8 MB |
On a single 10-minute recording
Short clips do not show the Neural Engine at its best. Unlike the 8-bit GGUF build, the Neural Engine runs models with fixed input shapes, so this build processes audio in fixed-size windows and pads each short utterance out to a full window. A long recording keeps every window full and shows sustained throughput, which is why desert-ant-labs/voz reports its speed on a single 10-minute recording. We timed both builds on the same one.
| Metric | TranscribePsy-250M-EU-sub-coreml | desert-ant-labs / voz |
|---|---|---|
| 10-min audio transcription (cold start excluded) | 1.65 s | 2.34 s |
| Cold start | 12.7 s | 18.4 s |
| Peak memory | 333.4 MiB | 570 MiB |
| Model size | 212.4 MB | 488.8 MB |
About the cold start. The cold start here is a different event from the 252 ms reported for the GGUF build: it includes the one-time Core ML model compilation that Apple performs the first time a model is loaded on a given device. It is paid once, not on every launch, and it is still about 1.5x quicker than the comparison build going through the same step.
Usage
The Core ML models are driven by the engine, not called directly: it computes
the mel spectrogram, runs the encoder and the batched decoder on the Neural
Engine, and returns text. Build the engine with -DPARAKEET_COREML=ON (see
BUILD.md in the engine repository). The GGUF
in this repository has no encoder weights, so it needs this engine built with
-DPARAKEET_COREML=ON; the upstream parakeet.cpp engine cannot load it. Keep all three files in one directory and call the engine from an
Objective-C++ (.mm) file:
#include <parakeet/engine.h>
parakeet::EngineOptions opts;
opts.model_gguf_path = "…/transcribepsy-250m-eu-sub-coreml.gguf";
parakeet::Engine engine(opts);
parakeet::EngineResult r = engine.transcribe("…/audio.wav"); // 16 kHz mono
NSString *text = [NSString stringWithUTF8String:r.text.c_str()];
Download from the Hub:
hf download qvac/TranscribePsy-250M-EU-sub-coreml --local-dir .
For Android and cross-platform deployment, use the
GGUF build with our qvac-fabric-speech.cpp engine.
Limitations
- Apple silicon only. Requires a device with a Neural Engine and iOS 18 or later.
- Eight languages only. Dutch, English, French, German, Italian, Polish, Portuguese, Spanish.
- Batch transcription, not streaming.
- Not intended for safety-critical or high-stakes automated decisions.
Citation
A citation for this model is coming soon.
Copyright
We will take appropriate actions in response to notices of copyright infringement. If you believe your work has been used or copied in a manner that infringes upon your intellectual property rights, please email data-apps@tether.io identifying and describing both the copyrighted work and alleged infringing content.
Licensing
This model which was trained as described in the blog post (https://huggingface.co/blog/qvac/transcribepsy-250m) is licensed by Tether Data, S.A. de C.V. under the Apache 2.0 license. As described in the blog post, this model is a version of the parakeet-tdt-0.6b-v3 (https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3) which is licensed under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International).
As described in the blog post, the parakeet-tdt-0.6b-v3 model was used as a teacher model.
The Yodas-granary dataset (https://huggingface.co/datasets/espnet/yodas-granary) is made available under the CC-BY-3.0 (Creative Commons Attribution 3.0 Unported). Yodas-granary is a subset of the Granary dataset (https://huggingface.co/datasets/nvidia/Granary) which is made available under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International). The Voxpopuli dataset (https://github.com/facebookresearch/voxpopuli?tab=License-1-ov-file) is made available under the CC0-1.0 license (Creative Commons Zero v1.0 Universal). The Libri-light dataset (https://github.com/facebookresearch/libri-light) is made available under the MIT License (https://github.com/facebookresearch/libri-light?tab=MIT-1-ov-file). The Multilingual LibriSpeech (MLS) dataset (https://www.openslr.org/94/) is made available under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International). The AMI Corpus dataset (https://groups.inf.ed.ac.uk/ami/corpus/) is made available under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International). The LibriSpeech ASR Corpus (960 hours) dataset (https://www.openslr.org/12) is made available under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International). The National Speech Corpus dataset (https://www.imda.gov.sg/how-we-can-help/national-speech-corpus) is made available under the Singapore Open Data Licence version 1.0 (https://data.gov.sg/open-data-licence). The VCTK Corpus (https://www.kaggle.com/datasets/pratt3000/vctk-corpus) is made available under the ODC-BY v1.0 (Open Data Commons Attribution License). The Europarl-ASR dataset (https://www.mllp.upv.es/git-pub/ggarces/Europarl-ASR) is made available under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International) except that: (a) speech and text data from the European Parliament website (audio, official transcriptions and translations) incorporated into the Europarl-ASR dataset are the exclusive property of the European Union represented by the European Parliament and these data are reused here under the conditions stated European Parliament website's Legal notice (https://www.europarl.europa.eu/legal-notice/en/); (b) text data from the DCEP Digital Corpus of the European Parliament incorporated into the Europarl-ASR dataset are the exclusive property of the European Parliament and remain owned by the European Parliament and these data are reused here under the usage conditions of the DCEP Digital Corpus of the European Parliament (https://joint-research-centre.ec.europa.eu/language-technology-resources/dcep-digital-corpus-european-parliament_en#Usage%20Conditions); and (c) text data from the Europarl v10 corpus (https://www.statmt.org/europarl/) are reused here under the Europarl corpus terms of use. The Common Voice Scripted Speech 25.0 dataset (https://commonvoice.mozilla.org/en) is made available under the CC0-1.0 license (Creative Commons Zero v1.0 Universal).
As described in the blog post, the parakeet-tdt-0.6b-v3 model was pruned and trained using the Yodas-granary, Voxpopuli, Libri-light, Multilingual LibriSpeech (MLS), National Speech Corpus, VCTK Corpus, AMI, LibriSpeech, and Europarl-ASR datasets and the following languages from the Common Voice Scripted Speech 25.0 dataset: bg (Bulgarian), cs (Czech), da (Danish), de (German), el (Greek), en (English), es (Spanish), et (Estonian), fi (Finnish), fr (French), hu (Hungarian), it (Italian), lt (Lithuanian), lv (Latvian), mt (Maltese), nl (Dutch), pl (Polish), pt (Portuguese), ro (Romanian), ru (Russian), sk (Slovak), sl (Slovenian), sv (Swedish), and uk (Ukrainian).
- Downloads last month
- 2
We're not able to determine the quantization variants.
Model tree for qvac/TranscribePsy-250M-EU-sub-coreml
Base model
nvidia/parakeet-tdt-0.6b-v3
