whisper-large-v3-ar

openai/whisper-large-v3 fine-tuned for Quran and Hadith transcription without giving up general Modern Standard Arabic. This is the MSA reference model of the resource suite — no Egyptian data, no MGB-2 in its training set, so MGB-2 is a genuine held-out control for it.

Results

Normalized WER/CER (%) on the frozen validation splits. Every system is scored with one identical Arabic normalizer applied to hypotheses and references — eval/asr_score.py.

System Quran WER Quran CER Hadith WER Hadith CER MGB-2 WER MGB-2 CER
whisper-large-v3 (zero-shot) 3.50 0.81 7.49 2.22 10.85 4.76
Cohere Transcribe Arabic 3.96 2.73 3.99 1.46 6.77 3.60
this model 0.33 0.10 3.60 0.99 9.52 2.92

Split sizes: Quran 7,280 clips · Hadith 4,752 · MGB-2 494.

On sacred text this is the state of the art: 0.33 vs 3.96 WER on Quran against the strongest open Arabic model — a ≈12× relative reduction — and 3.60 vs 3.99 on Hadith. Relative to its own zero-shot base: −91 % Quran, −52 % Hadith, −12 % MGB-2.

On general broadcast MSA we are competitive, not leading. Cohere reaches 6.77 WER to our 9.52 — but on CER we are ahead, 2.92 vs 3.60, meaning our errors are shallow near-misses rather than dropped or wrong words. MGB-2 is strictly zero-shot for this model and may be in-domain for the others.

Usage

import torch
from transformers import pipeline

pipe = pipeline(
    "automatic-speech-recognition",
    model="Dr-AliGomaa/whisper-large-v3-ar",
    torch_dtype=torch.float16,
    device="cuda:0",
    chunk_length_s=30,
)

# The decoding config the reported numbers use -- fixed, not tuned per dataset.
gen = {
    "language": "arabic",
    "task": "transcribe",
    "num_beams": 5,
    "temperature": (0.2),
    "condition_on_prev_tokens": False,
    "compression_ratio_threshold": 1.35,
    "logprob_threshold": -1.0,
    "return_timestamps": False,
    "max_new_tokens": 444,
}

print(pipe("audio.mp3", generate_kwargs=gen)["text"])

This model does not emit timestamps. For time-aligned output use whisper-large-v3-ar-eg-timestamps.

Two things that will otherwise cost you accuracy

1. Run the audio pipeline first. The model was trained on optimized audio: silence-trimmed, loudness-normalized to −16 LUFS, edge-padded 100 ms, gain-corrected, segmented ≤ 30 s. Applying the same chain at inference is required to reproduce these numbers — it is the single most common reason people can't. Scripts: pipeline/.

2. Score with eval/asr_score.py. Arabic WER moves materially with the normalizer, so a number computed under a different one is not comparable to the table above.

Training

Base openai/whisper-large-v3
Trained on Quran + Hadith + Common Voice 17 + FLEURS + MediaSpeech. No Egyptian, no MGB-2.
Learning rate 5e-6, linear decay with warmup
Batch 4 per device × 8 GPUs = 32 effective
Precision / distributed bf16 + tf32, DeepSpeed ZeRO
Weight decay 0.05 (no dropout, no label smoothing)
Augmentation waveform (MUSAN + ESC-50 + Gaussian, band-pass) via audiomentations; Quran/Hadith oversampled through independently-augmented passes
Frameworks Transformers 4.51.3 · PyTorch 2.5.1+cu121 · Datasets 3.6.0

Full recipe: training/training.py.

Intended use and limits

  • For transcription assistance and research. Not an authority on the correct text of the Quran or hadith — verify output against canonical written sources before any religious use.
  • Output is Imlāʾī orthography without tashkīl, and numerals are written as Arabic words — do not use for numeric or mathematical transcription.
  • Trained overwhelmingly on classical/MSA register; it is not a dialect model.
  • The religious content of this work was reviewed and approved by Prof. Ali Gomaa, former Grand Mufti of Egypt and member of Al-Azhar's Council of Senior Scholars, under whose patronage it was carried out.

Citation

@misc{kotb2026quranhadith,
  title  = {A Quran and Hadith Speech Resource and Benchmark for Arabic ASR,
            with Professional-Reciter Training and Validation},
  author = {Mohamed Kotb},
  year   = {2026},
  publisher = {Zenodo},
  doi    = {10.5281/zenodo.21927416},
  url    = {https://doi.org/10.5281/zenodo.21927416},
  note   = {Preprint}
}
Downloads last month
295
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Dr-AliGomaa/whisper-large-v3-ar

Finetuned
(1099)
this model

Dataset used to train Dr-AliGomaa/whisper-large-v3-ar

Evaluation results

  • WER (normalized) on Quran (ʿAbd al-Bāsiṭ) — ar-quran-hadith14books-MSA validation
    validation set self-reported
    0.330
  • CER (normalized) on Quran (ʿAbd al-Bāsiṭ) — ar-quran-hadith14books-MSA validation
    validation set self-reported
    0.100
  • WER (normalized) on Hadith (Bukhari + Muslim) — hadith_validation
    self-reported
    3.600
  • CER (normalized) on Hadith (Bukhari + Muslim) — hadith_validation
    self-reported
    0.990
  • WER (normalized) on MGB-2 broadcast MSA (held out)
    self-reported
    9.520
  • CER (normalized) on MGB-2 broadcast MSA (held out)
    self-reported
    2.920