Quran speech recognition (ASR) with verse matching, Iqra mode, and translations in Arabic, English, Somali, Amharic & Swahili. Built with Tarteel Whisper.
# Iqra AI
World-class Quran speech recognition with Tarteel-style mistake detection, Iqra/memorization mode, and multilingual translations.
**Languages:** Arabic · English · Somali · Amharic · Swahili
**Author:** Abdirahman Ahmed · Offered as sadaqa jariyah
## Contents
- Features
- Build with Iqra AI
- Quick Start
- Project Structure
- Tabs
- Languages
- Data Sources
- Requirements
- Contributing
- Images
- Acknowledgements
- License
---
## Features
- **ASR** — Tarteel whisper-base-ar-quran (fine-tuned for Quranic Arabic)
- **Verse matching & mistake detection** — Green (correct), red (missed/incorrect), yellow (extra)
- **Iqra mode** — Pick Surah:Ayah, recite, compare with canonical text and see mistakes
- **Translations** — Arabic, English, Somali, Amharic, Swahili via Quran Enc
- **Letter practice** — Hijaiyah letter classification
- **Export** — TXT, JSON, SRT via CLI
---
## Build with Iqra AI
After cloning, use the modules to build your own apps:
| Build | Use |
|-------|-----|
| **Quran memorization app** | Import `asr_engine`, `matcher`, `quran_data` → transcribe recitation, match verses, show mistakes. |
| **Mobile / web app backend** | Run `app.py` or wrap `transcribe()` + `match_and_analyze()` in your API. |
| **Letter learning app** | Use hijaiyah classifier from `app.py` for kids/learners. |
---
## Quick Start
> [!TIP]
> On first run, Arabic XML and ASR models download automatically. Translations require internet.
### 1. Clone and enter the repo
```bash
git clone
github.com
cd IqraAI
```
### 2. Set up Python environment
```bash
python3 -m venv venv
source venv/bin/activate # Mac/Linux
# OR on Windows: venv\Scripts\activate
pip install -r requirements.txt
```
### 3. Run the web app
```bash
python app.py
```
Open **
http://127.0.0.1:7860** in your browser.
### 4. CLI (optional)
```bash
python transcribe.py path/to/audio.wav --match --export json
```
> [!NOTE]
> First run downloads ~500MB …