TranscribePsy-250M-EU

TranscribePsy-250M is a family of compact (254M-parameter) multilingual speech recognition models, distilled from Parakeet-TDT-0.6B-v3 and built for laptops and phones. The family has four releases:

Highlights:

  • Best-in-class at ~250M: TranscribePsy-250M-EU leads every similar-size model tested on all three benchmark suites: 8.02 word error rate on the Open ASR Leaderboard, 6.58 on Multilingual LibriSpeech and 21.56 on Common Voice, against 12.34 / 11.51 / 38.17 for Whisper-small (242M), 15.31 / 11.89 / 32.23 for omniASR-CTC-300M-v2 (326M) and 9.72 / 11.84 / 37.74 for OWSM v4 small (370M).
  • Beats models three to four times its size: on Multilingual LibriSpeech it scores 6.58 against 12.60 for Qwen3-ASR-0.6B (782M), 7.71 for omniASR-CTC-1B-v2 (976M), 7.76 for Whisper-Medium (764M) and 10.65 for OWSM-CTC-v4 (1.01B). On Common Voice it trails only omniASR-CTC-1B-v2 (21.56 against 20.07) and stays ahead of Whisper-Medium and OWSM-CTC-v4.
  • Fastest model on every phone we tested, measured with the GGUF build of TranscribePsy-250M-EU-sub: averaged over six phones, a 0.052 real-time factor, 534 MiB peak memory @ 10s and a 252 ms cold start. Its latency is 2.6x lower than the next-fastest model (omniASR-CTC-300M-v2), 5.7x lower than Whisper-small and 7.5x to 15x lower than the three larger models.
  • 10 minutes of audio in 1.65 seconds on an iPhone, with the Core ML build of TranscribePsy-250M-EU-sub on the Apple Neural Engine of an iPhone 17 Pro Max. It uses less than half the disk space and 1.7x less memory than another Core ML speech recognition model.
  • Open weights under Apache 2.0, together with the GGUF and Core ML builds and the evaluation scripts behind the benchmark numbers.

Supported languages (25): Bulgarian (bg), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), English (en), Estonian (et), Finnish (fi), French (fr), German (de), Greek (el), Hungarian (hu), Italian (it), Latvian (lv), Lithuanian (lt), Maltese (mt), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Slovak (sk), Slovenian (sl), Spanish (es), Swedish (sv), Ukrainian (uk).


Which model should I use?

Model Languages Format Use it when
TranscribePsy-250M-EU (this card) 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 8 Core ML You are deploying on the Apple Neural Engine.

Where TranscribePsy-250M-EU leads

Lower is better throughout.

Benchmark suite What it covers TranscribePsy-250M-EU Whisper-small (242M) omniASR-CTC-300M-v2 (326M) OWSM v4 small (370M)
Open ASR Leaderboard Mean of the English short-form and multilingual suites 8.02 12.34 15.31 9.72
Multilingual LibriSpeech 8-language mean 6.58 11.51 11.89 11.84
Common Voice v25 24-language mean 21.56 38.17 32.23 37.74

Accuracy against similar-size models


Model details

Property Value
Developed by Tether AI Research *
Parameters 254.45M †
Architecture FastConformer encoder, 24 layers, 640-dim, transducer decoder
Teacher Parakeet-TDT-0.6B-v3 (627M)
Initialization Structured pruning of the teacher
Languages 25
Training data 564,102 hours, 117M utterances
Precision float32
Model size on disk 1.02 GB (float32)

* References to Tether AI Research are references to Tether Data, S.A. de C.V.

† Includes our novel CAFE design, which gives a better trade-off between English and the other 24 languages while keeping training stable. The 254.45M count is the 253.95M base model plus 0.50M of CAFE adapters; the optional language gate (0.50M) is not included. Technical details will follow in a subsequent report.

How it was trained

The student is not trained from scratch. It is obtained by structured pruning of the Parakeet-TDT-0.6B-v3 teacher, so it starts inside a representation space the teacher has already organized, and is then trained by knowledge distillation from that teacher rather than from transcripts alone.

A full technical report with the complete results will follow, along with a paper on CAFE, the novel design behind this model.


Benchmarks

Against models three to four times larger

At a third to a quarter of the parameters, TranscribePsy-250M-EU still wins Multilingual LibriSpeech outright against every larger model tested, and on Common Voice trails only omniASR-CTC-1B-v2. Bold marks the best score in each row.

Benchmark TranscribePsy-250M-EU (254M) Qwen3-ASR-0.6B (782M) omniASR-CTC-1B-v2 (976M) Whisper-Medium (764M) OWSM-CTC-v4 (1.01B)
Open ASR Leaderboard 8.02 7.40 9.68 8.79 8.32
Multilingual LibriSpeech 6.58 12.60 7.71 7.76 10.65
Common Voice v25 21.56 N/A * 20.07 26.94 32.87

* The Common Voice test set covers 24 languages; Qwen3-ASR does not support 8 of them, so it is not scored on that benchmark. For the other models, the mean is taken over all 24 languages.

WER against larger models

Per-dataset results

Every test set behind the three suites above, against the same-size models. Word error rate, lower is better; bold marks the best score in each row.

Open ASR Leaderboard: 7 English short-form and 9 multilingual test sets

The reported Open ASR Leaderboard score is the mean of the English short-form mean and the multilingual mean, which is itself the mean of the FLEURS mean and the MLS mean.

Test set TranscribePsy-250M-EU Whisper-small omniASR-CTC-300M-v2 OWSM v4 small
  AMI 13.91 53.35 32.51 15.47
  Earnings-22 13.55 13.21 26.33 14.48
  GigaSpeech 11.72 10.56 22.84 11.17
  LibriSpeech clean 2.48 2.59 4.71 2.56
  LibriSpeech other 5.81 6.60 11.86 5.98
  SPGISpeech 7.98 3.24 14.05 2.79
  VoxPopuli 7.76 7.85 13.28 8.65
English short-form mean 9.03 13.91 17.94 8.73
  FLEURS German 7.61 7.61 14.53 10.08
  FLEURS Spanish 5.38 4.67 9.56 8.21
  FLEURS French 9.83 11.52 21.23 13.16
  FLEURS Italian 4.43 16.02 9.46 6.87
  FLEURS Portuguese 7.74 6.27 13.63 8.76
FLEURS mean 7.00 9.22 13.68 9.42
  MLS Spanish 4.74 6.89 7.25 7.61
  MLS French 4.85 10.93 12.95 11.05
  MLS Italian 7.37 16.02 10.73 14.49
  MLS Portuguese 11.07 15.37 15.81 14.83
MLS mean 7.01 12.30 11.69 12.00
Multilingual mean (FLEURS & MLS) 7.00 10.76 12.68 10.71
Open ASR Leaderboard score 8.02 12.34 15.31 9.72
Multilingual LibriSpeech: 8 languages
Language TranscribePsy-250M-EU Whisper-small omniASR-CTC-300M-v2 OWSM v4 small
English 6.48 7.66 15.10 7.96
German 6.59 9.35 11.02 10.43
Dutch 5.89 16.54 12.89 11.64
Polish 5.63 9.26 9.39 16.72
Spanish 4.74 6.90 7.25 7.61
French 4.87 10.94 12.95 11.05
Italian 7.37 16.06 10.73 14.49
Portuguese 11.04 15.37 15.81 14.83
Mean (8 languages) 6.58 11.51 11.89 11.84
Common Voice v25

The Common Voice v25 test set covers 24 of the 25 training languages (it has no Croatian test set), and TranscribePsy-250M-EU supports all 24. The mean is taken over all 24 languages. WER can exceed 100%, as for Whisper-small on Maltese, because inserted words count as errors.

Language TranscribePsy-250M-EU Whisper-small omniASR-CTC-300M-v2 OWSM v4 small
Bulgarian 18.20 41.00 30.08 52.54
Czech 12.47 33.55 20.33 27.39
Danish 43.70 52.21 52.46 74.82
German 8.83 13.97 19.29 10.71
Greek 32.80 29.88 37.23 65.56
English 13.94 17.18 31.20 14.22
Spanish 7.22 11.63 14.23 9.34
Estonian 27.37 69.50 39.42 52.14
Finnish 54.29 58.76 58.49 67.07
French 11.64 26.92 24.82 16.22
Hungarian 11.79 36.10 26.10 36.78
Italian 7.15 16.81 16.28 10.24
Lithuanian 25.68 73.12 45.25 65.21
Latvian 17.79 55.98 36.61 58.51
Maltese 46.73 109.40 31.01 73.66
Dutch 6.04 12.66 16.74 12.11
Polish 15.91 20.74 25.53 24.85
Portuguese 10.94 22.75 23.69 13.01
Romanian 22.46 31.82 23.80 34.09
Russian 14.62 16.42 32.45 14.68
Slovak 21.68 52.97 34.31 41.75
Slovenian 26.51 45.02 48.08 42.90
Swedish 17.99 21.15 33.36 41.65
Ukrainian 41.70 46.62 52.84 46.21
Mean (24 languages) 21.56 38.17 32.23 37.74

On-device efficiency

Measured on six phones: Samsung Galaxy S26 Ultra, Samsung Galaxy S25 Ultra, Google Pixel 10, Google Pixel 9, iPhone 17 Pro Max, and iPhone 15. Every model runs as an 8-bit build under the same test settings, so the comparison reflects the models rather than their inference stacks; TranscribePsy runs through our qvac-fabric-speech.cpp engine. The benchmark set is 160 utterances drawn at random from Multilingual LibriSpeech, 20 per language across eight languages, 40 minutes of audio in total. Every figure is the mean of the best three of five repeated runs, which keeps run-to-run thermal throttling out of the numbers. OWSM is omitted because no mobile-compatible build is available. These measurements use the GGUF build of TranscribePsy-250M-EU-sub, which shares this model's architecture and inference cost.

Metric TranscribePsy-250M-EU-sub whisper-small omniASR-CTC-300M-v2 Qwen3-ASR-0.6B Whisper-Medium omniASR-CTC-1B-v2
Real-time factor 0.052 0.374 0.173 0.462 0.931 0.998
Inference latency (ms) 1,021 5,854 2,631 7,616 14,636 15,372
Cold-start latency (ms) 252 275 671 677 870 898
Peak memory @ 10s (MiB) 534 615 842 1,169 1,569 1,275

On-device efficiency

TranscribePsy is the fastest model on every phone, not just on average:

Device SoC TranscribePsy-250M-EU-sub omniASR-CTC-300M-v2 whisper-small Qwen3-ASR-0.6B whisper-medium omniASR-CTC-1B-v2
Galaxy S26 Ultra 8 Elite Gen5 633 1,603 3,154 4,192 9,252 11,779
Galaxy S25 Ultra 8 Elite 771 1,768 3,632 4,643 10,362 12,914
iPhone 17 Pro Max A19 Pro 1,059 1,827 5,032 5,911 13,994 10,177
iPhone 15 A16 854 3,006 4,456 7,629 13,652 14,303
Pixel 10 Tensor G5 1,240 2,871 9,374 11,088 18,391 16,450
Pixel 9 Tensor G4 1,570 4,708 9,478 12,235 22,163 26,608

Inference latency in milliseconds, lower is better.

Per-device inference latency

Peak memory @ 10s is also remarkably flat across devices, between 530 and 542 MiB, because the model is small enough that no device forces a different execution path.


Usage

TranscribePsy-250M-EU transcribes English with the checkpoint as loaded. For any other language it uses a small set of language-conditional adapters, shipped in adapters.safetensors. How you call it depends on whether you know the language of the audio.

File Size What it is
TranscribePsy-250M-EU.nemo 1.02 GB The model, as a NeMo checkpoint
model.safetensors 1.02 GB The same weights in safetensors
adapters.safetensors 2 MB Language-conditional adapters for non-English audio
language_gate.safetensors 2 MB English / non-English gate, only needed when the language is unknown
inference.py Transcription when the language is known
inference_gated.py Transcription with automatic language routing
eval/ Decoding and scoring scripts behind the benchmark numbers

Requirements: nemo_toolkit[asr], torch, safetensors, soundfile. Audio must be 16 kHz mono.

hf download qvac/TranscribePsy-250M-EU --local-dir TranscribePsy-250M-EU
cd TranscribePsy-250M-EU

When you know the language, say whether it is English. No gate is involved:

python inference.py --lang en    audio_en.wav
python inference.py --lang other audio_de.wav audio_pt.wav

When you do not know the language, let the gate decide per utterance. It sends English to the checkpoint as loaded and everything else through the adapters, at a cost of about 0.05% WER on multilingual speech (including English) compared with declaring the language:

python inference_gated.py audio_en.wav audio_de.wav audio_pt.wav

The same routing from Python:

import os, sys
import nemo.collections.asr as nemo_asr
from huggingface_hub import hf_hub_download

REPO = "qvac/TranscribePsy-250M-EU"
model = nemo_asr.models.ASRModel.from_pretrained(REPO).eval()

# English: use the model as loaded.
print(model.transcribe(["audio_en.wav"])[0].text)

# Any other language: attach the adapters.
sys.path.insert(0, os.path.dirname(hf_hub_download(REPO, "inference.py")))
from inference import attach_adapters
attach_adapters(model, hf_hub_download(REPO, "adapters.safetensors"),
                device=model.device, dtype=next(model.parameters()).dtype)
print(model.transcribe(["audio_de.wav"])[0].text)

Choosing the wrong path does not raise an error, it only costs accuracy, so route deliberately or use the gate.

For on-device deployment, see TranscribePsy-250M-EU-sub-gguf (Android and cross-platform, via our qvac-fabric-speech.cpp engine) and TranscribePsy-250M-EU-sub-coreml (Apple Neural Engine).


Intended use

The TranscribePsy-250M family targets latency- and memory-constrained transcription: voice notes, dictation, meeting capture, accessibility captioning, and voice interfaces that must work offline. This 25-language checkpoint runs on GPUs, servers and laptops; for phones, use the GGUF or Core ML build of TranscribePsy-250M-EU-sub. Because it is compact, we recommend fine-tuning on your domain when accuracy on specialist vocabulary matters.

Limitations

  • 25 European languages only. Languages outside the list are not supported and will not degrade gracefully.
  • Batch transcription, not streaming. This release transcribes complete utterances.
  • PyTorch only. Quantized on-device builds are published for the 8-language variant.
  • Not intended for safety-critical or high-stakes automated decisions.

Acknowledgements

Built on NVIDIA's Parakeet-TDT and FastConformer, and on the NeMo toolkit. Evaluated with the Open ASR Leaderboard protocol and text normalizer.

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
3
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for qvac/TranscribePsy-250M-EU

Finetuned
(116)
this model

Collection including qvac/TranscribePsy-250M-EU

Article mentioning qvac/TranscribePsy-250M-EU