Whisper Turbo Quran
A full fine-tuned Whisper Large v3 Turbo model specialized for Quranic Arabic recitation (tilawah) recognition. Outputs fully diacritized Arabic text (tashkeel/harakat).
Evaluation Results
| Metric | Score |
|---|---|
| WER (normalized) | 0.05% |
| WER (diacritized) | 0.05% |
| Eval samples | 500 |
| Best checkpoint | Step 8,000 |
Training Progression
| Step | Train Loss | Val Loss | WER (diacritized) | WER (normalized) |
|---|---|---|---|---|
| 200 | 0.1394 | 0.0796 | 15.10% | 12.97% |
| 1,000 | 0.0396 | 0.0200 | 4.76% | 4.26% |
| 2,000 | 0.0289 | 0.0103 | 2.38% | 2.13% |
| 3,000 | 0.0171 | 0.0047 | 1.11% | 1.01% |
| 5,000 | 0.0129 | 0.0025 | 0.71% | 0.66% |
| 7,000 | 0.0111 | 0.0009 | 0.20% | 0.20% |
| 8,000 | 0.0108 | 0.0004 | 0.05% | 0.05% |
| 9,000 | 0.0103 | 0.0005 | 0.15% | 0.15% |
Comparison with Previous Models
| Model | Method | WER (norm) | WER (diac) | Params |
|---|---|---|---|---|
| Tarteel AI baseline | - | 5.75% | - | - |
| whisper-large-v3-quran-lora | LoRA (r=32) | 1.58% | 3.92% | 1.5B |
| whisper-turbo-quran | Full fine-tune | 0.05% | 0.05% | 809M |
Model Details
| Property | Value |
|---|---|
| Base model | openai/whisper-large-v3-turbo (809M params) |
| Method | Full fine-tune (all parameters) |
| Encoder initialization | Transferred from whisper-large-v3-quran-lora |
| Dataset | tarteel-ai/everyayah (~127K samples) |
| Augmentation | Speed perturbation + Gaussian noise + Reverb simulation + SpecAugment |
| Precision | bf16 (mixed precision) |
| Optimizer | AdamW fused (cosine LR schedule) |
| Learning rate | 1e-5 |
| Effective batch size | 64 (16 x 4 gradient accumulation) |
| Training steps | ~9,900 (~5 epochs) |
| GPU | NVIDIA A100 40GB |
| Output | Fully diacritized Arabic (tashkeel) |
Encoder Transfer
This model uses a unique warm-start strategy. The encoder weights were initialized from a previously trained whisper-large-v3-quran-lora model. Since Whisper Large v3 and Whisper Large v3 Turbo share the same encoder architecture, the Quran-specialized encoder weights were directly transferred, giving the model a significant head start in recognizing Quranic recitation patterns, tajweed rules, and maqam variations.
Usage
from transformers import WhisperProcessor, WhisperForConditionalGeneration
processor = WhisperProcessor.from_pretrained("baristiran/whisper-turbo-quran")
model = WhisperForConditionalGeneration.from_pretrained("baristiran/whisper-turbo-quran")
inputs = processor(audio_array, sampling_rate=16000, return_tensors="pt")
predicted_ids = model.generate(**inputs, max_length=448)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
# Output: fully diacritized Arabic text
Tilavet
This model is the core engine of Tilavet — a next-generation Quran companion app that listens, understands, and guides.
Tilavet recognizes Quranic recitation in real time, automatically identifies the exact ayah being recited, and follows along as the reader continues. It translates into any language, detects recitation errors, and provides instant feedback to help users improve their reading.
Built for everyone who engages with the Quran — huffaz refining their memorization, students learning proper tajweed, individuals following along during taraweeh or daily reading sessions, and anyone who wants a deeper, more interactive connection with the text.
Key capabilities:
- Real-time ayah recognition and tracking (prompter mode)
- On-device processing — fully offline, no internet required
- Diacritized Arabic output with multi-language translation
- Recitation error detection and tajweed guidance
- Automatic re-synchronization when the reader skips or repeats ayahs
Technical highlights:
- CoreML deployment via WhisperKit (iOS, Apple Neural Engine)
- ~400 MB on-device model (INT8 quantized)
- ~3-4 second initial recognition, real-time tracking thereafter
- iPhone 12+ and newer supported
Developer
Tarık İsmet ALKAN — GitHub
License
Apache 2.0