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

Apple Neural Engine, 160-utterance test set

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

Apple Neural Engine, 10-minute recording

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
GGUF
Model size
14.6M params
Architecture
parakeet-ctc
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for qvac/TranscribePsy-250M-EU-sub-coreml

Quantized
(2)
this model

Collection including qvac/TranscribePsy-250M-EU-sub-coreml

Article mentioning qvac/TranscribePsy-250M-EU-sub-coreml