YoussefAshmawy's picture
Update README.md
70d5356 verified
---
library_name: transformers
language:
- ar
license: apache-2.0
base_model: openai/whisper-base
tags:
- generated_from_trainer
- arabic
- automatic-speech-recognition
- quran
- whisper
metrics:
- wer
- cer
model-index:
- name: Whisper base AR - YA
results:
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
name: Quran Ayat Speech-to-Text
type: audio
metrics:
- name: WER (Validation)
type: wer
value: 0.0405
- name: CER (Validation)
type: cer
value: 0.0195
- name: WER (Test)
type: wer
value: 0.082
- name: CER (Test)
type: cer
value: 0.0327
pipeline_tag: automatic-speech-recognition
---
# Whisper base AR - YA
This model is a fine-tuned version of [openai/whisper-base](https://huggingface.co/openai/whisper-base) on an Arabic Quran recitation dataset focused on verse-level speech-to-text transcription. The goal was to create a lightweight ASR system that can accurately transcribe Quranic audio into Arabic text, optimized for clear, male recitation audio.
It achieves the following results:
- **Validation set:**
- **Loss**: 0.0023
- **WER (Word Error Rate)**: 4.05%
- **CER (Character Error Rate)**: 1.95%
- **Test set:**
- **WER (Word Error Rate)**: 8.2%
- **CER (Character Error Rate)**: 3.27%
## Model description
This model builds upon OpenAI's Whisper base architecture and is fine-tuned specifically for Modern Standard Arabic, with a focus on Quranic verses. Audio samples were cleaned, resampled to 16kHz, and aligned with text for training.
The model is trained using CTC loss in a supervised setting, making it suitable for inference in streaming or batch-based ASR systems. Whisper’s multilingual capabilities were leveraged to build a domain-specific Arabic transcription model.
## Intended uses & limitations
### Intended uses:
- Speech recognition for Arabic Quran recitations
- Educational tools or Quran learning applications
- Mobile-friendly deployment of ASR for religious audio content
- Fine-tuning or distillation for low-resource Arabic ASR projects
### Limitations:
- Optimized for clear, male Quran recitation—performance may degrade with female voices or conversational Arabic
- Not designed for dialectal or informal speech
- Background noise or overlapping speakers may reduce accuracy
## Training and evaluation data
The dataset consists of verse-level Quran recitations in Arabic. The recordings were primarily from male speakers with clear tajweed (recitation rules), and aligned to their corresponding Arabic text.
Audio files were resampled to 16kHz and normalized for Whisper compatibility.
Evaluation was conducted on both a held-out validation set and a separate test set to assess generalization.
## Training procedure
### Training hyperparameters
- `learning_rate`: 0.0001
- `train_batch_size`: 8
- `eval_batch_size`: 8
- `gradient_accumulation_steps`: 2
- `total_train_batch_size`: 16
- `num_train_epochs`: 30
- `seed`: 42
- `lr_scheduler_type`: linear
- `lr_scheduler_warmup_steps`: 500
- `optimizer`: AdamW (betas=(0.9, 0.999), eps=1e-08)
- `mixed_precision_training`: Native AMP
Training was conducted using PyTorch with Hugging Face Trainer API. Metrics monitored include WER and CER.
### Training results
#### This is only the results of the last batch not all batches
| Training Loss | Epoch | Step | Validation Loss | Wer | Cer |
|:-------------:|:-----:|:-----:|:---------------:|:------:|:------:|
| 0.0058 | 1.0 | 525 | 0.0025 | 0.0353 | 0.0177 |
| 0.0018 | 2.0 | 1050 | 0.0031 | 0.0428 | 0.0197 |
| 0.0017 | 3.0 | 1575 | 0.0040 | 0.0511 | 0.0246 |
| 0.001 | 4.0 | 2100 | 0.0039 | 0.0469 | 0.0212 |
| 0.0013 | 5.0 | 2625 | 0.0043 | 0.0505 | 0.0240 |
| 0.0006 | 6.0 | 3150 | 0.0042 | 0.0478 | 0.0223 |
| 0.0007 | 7.0 | 3675 | 0.0049 | 0.0534 | 0.0227 |
| 0.0007 | 8.0 | 4200 | 0.0048 | 0.0552 | 0.0235 |
| 0.0005 | 9.0 | 4725 | 0.0048 | 0.0501 | 0.0218 |
| 0.0005 | 10.0 | 5250 | 0.0048 | 0.0513 | 0.0215 |
| 0.0006 | 11.0 | 5775 | 0.0055 | 0.0528 | 0.0217 |
| 0.0002 | 12.0 | 6300 | 0.0055 | 0.0542 | 0.0232 |
| 0.0003 | 13.0 | 6825 | 0.0056 | 0.0530 | 0.0238 |
| 0.0002 | 14.0 | 7350 | 0.0057 | 0.0498 | 0.0237 |
| 0.0001 | 15.0 | 7875 | 0.0057 | 0.0446 | 0.0189 |
| 0.0003 | 16.0 | 8400 | 0.0054 | 0.0567 | 0.0254 |
| 0.0002 | 17.0 | 8925 | 0.0057 | 0.0540 | 0.0256 |
| 0.0002 | 18.0 | 9450 | 0.0057 | 0.0530 | 0.0239 |
| 0.0 | 19.0 | 9975 | 0.0056 | 0.0478 | 0.0228 |
| 0.0 | 20.0 | 10500 | 0.0055 | 0.0473 | 0.0223 |
| 0.0 | 21.0 | 11025 | 0.0056 | 0.0449 | 0.0202 |
| 0.0 | 22.0 | 11550 | 0.0056 | 0.0461 | 0.0213 |
| 0.0 | 23.0 | 12075 | 0.0057 | 0.0461 | 0.0213 |
| 0.0 | 24.0 | 12600 | 0.0058 | 0.0465 | 0.0218 |
| 0.0 | 25.0 | 13125 | 0.0058 | 0.0474 | 0.0224 |
| 0.0 | 26.0 | 13650 | 0.0059 | 0.0465 | 0.0218 |
| 0.0 | 27.0 | 14175 | 0.0059 | 0.0469 | 0.0219 |
| 0.0 | 28.0 | 14700 | 0.0059 | 0.0461 | 0.0218 |
| 0.0 | 29.0 | 15225 | 0.0054 | 0.0513 | 0.0229 |
| 0.0 | 30.0 | 15750 | 0.0060 | 0.0463 | 0.0217 |
### Framework versions
- Transformers: 4.51.1
- PyTorch: 2.5.1+cu124
- Datasets: 2.20.0
- Tokenizers: 0.21.0