A Farsi fine-tune of NVIDIA's Parakeet CTC 109M (the CTC branch of parakeet-tdt_ctc-110m), trained with a custom Farsi SentencePiece tokenizer on 844 hours of quality-classified Farsi speech. It is the best Parakeet-family model from this project; a later variant trained on a stricter 224-hour subset regressed and was retired.
844 hours of Farsi speech: Common Voice, Thomcles, Mana TTS, Neyshekar, FLEURS, WorldSpeech, and Farsi YouTube, with web-scraped portions machine-labeled and filtered by a Scribe quality classifier. Clips capped at 400 characters and 60 chars/sec to drop misaligned transcripts.
Test splits, corpus-level jiwer after shared normalization, re-scored 2026-05-28 (WER %):
For a stronger Farsi model from the same project see
Peacockery/omni-ctc-300m-farsi, which wins on every split. This checkpoint is the lighter and faster option (109M parameters, ~350x realtime on the benchmark hardware).
1import nemo.collections.asr as nemo_asr
2model = nemo_asr.models.EncDecCTCModelBPE.restore_from("model.nemo")
3texts = model.transcribe(["audio.wav"])