This model supports both offline transcription (full bilateral context, highest accuracy) and real-time streaming (causal local attention, cache-aware frame-by-frame inference).
Model Details
Property
Value
Base model
nvidia/stt_ar_fastconformer_hybrid_large_pcd_v1.0
Architecture
EncDecHybridRNNTCTCBPE (FastConformer-Large)
Parameters
114.6M
Encoder layers
18 × FastConformer blocks
Tokenizer
SentencePiece BPE, 1024 tokens
Sample rate
16 kHz, mono
Val WER (offline)
0.0014 (0.14%)
Dataset
tarteel-ai/everyayah
Framework
NVIDIA NeMo
Training
Fine-tuned using a 3-phase progressive unfreezing strategy on a single NVIDIA RTX 4070 Ti (12 GB):
Phase
Layers unfrozen
Steps
LR
Val WER
Phase 1
Top 3 encoder + decoder
2000
5e-5
0.0038
Phase 2
Upper half (layers 9–17) + decoder
3000
1e-4
0.0018
Phase 3
All layers
2500
5e-5
0.0014
Progressive unfreezing prevents catastrophic forgetting of the base model's Arabic speech representations while allowing the full model to adapt to Quranic phonetics, tajweed rules, and recitation style.
Training data:tarteel-ai/everyayah — a diverse multi-reciter dataset of complete Quranic recitations at multiple audio qualities, covering all 114 surahs across dozens of reciters.
Usage
Installation
pip install nemo_toolkit[asr]
Offline transcription (recommended for files)
The .nemo file is saved with full bilateral attention context — transcribe() works out of the box with no configuration required.
python
1import nemo.collections.asr as nemo_asr
23model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.from_pretrained(4"mohammed/fastconformer-quran-ar"5)6model.eval()78# Transcribe a .wav file (16kHz mono)9result = model.transcribe(["recitation.wav"])10print(result[0].text)11# e.g. "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ"
Real-time streaming
The model supports cache-aware streaming inference via NeMo's cache_aware_stream_step().
The key loading sequence (order matters):
For a complete streaming implementation with microphone input, silence detection, word callbacks, and a FastAPI WebSocket server, see the companion script in the repository files.
Qualitative Examples
The following are exact reference vs. predicted outputs from the validation set — the model transcribed these word-for-word correctly, including full diacritisation (tashkeel):
These span multiple surahs (Al-Furqan, An-Nur, Ash-Shu'ara, As-Saffat) and include some of the most phonetically demanding ayahs in the Quran — long compound sentences, rare vocabulary (نُشُورًا، سُبَاتًا), emphatic consonants, and precise tashkeel on every word.
Intended Use & Limitations
Intended use:
Quranic recitation transcription and verification
Tajweed learning applications
Ayah identification from audio
Recitation correction apps (compare hypothesis against reference ayah)
Limitations:
Optimised specifically for Quranic Arabic — performance on Modern Standard Arabic or dialectal Arabic will be significantly lower than the base model
Best results on clean, single-speaker recitation audio at 16kHz
The streaming mode introduces ~1.6s of latency per chunk due to the encoder's minimum chunk size requirement
Citation
If you use this model, please cite the base model and dataset:
bibtex
1@misc{fastconformer-quran-ar,
2 author = {Mohammed},
3 title = {FastConformer Quran Arabic ASR},
4 year = {2026},
5 publisher = {Hugging Face},
6 url = {https://huggingface.co/mohammed/fastconformer-quran-ar}
7}