enver / tajweedsst

huggingface.co
Total runs: 0
24-hour runs: 0
7-day runs: 0
30-day runs: 0
Model's Last Updated: February 07 2026

Introduction of tajweedsst

Model Details of tajweedsst

TajweedSST — Quranic Letter-Level Alignment & Tajweed Physics Engine

CTC Forced Alignment + Acoustic Physics Validation for Quranic Recitation

Overview

TajweedSST is a Python pipeline that produces letter-level timing data for Quranic recitation audio. It combines wav2vec2 CTC forced alignment with acoustic physics validation (Tajweed rules) to generate timing files consumed by MahQuranApp for real-time letter highlighting.

Pipeline Architecture
┌─────────────────────────────────────────────────────────────┐
│                    TajweedSST Pipeline                       │
│                                                             │
│  1. CTC Forced Alignment (wav2vec2)                         │
│     └─ Word-level timestamps from audio                     │
│                                                             │
│  2. Character Expansion                                     │
│     └─ Word timestamps → individual character timing        │
│                                                             │
│  3. Grapheme Matching                                       │
│     └─ Merge base + diacritics to match App.tsx rendering   │
│                                                             │
│  4. Tajweed Parsing                                         │
│     └─ Map letters to Tajweed rules (Qalqalah, Ghunnah..)  │
│                                                             │
│  5. Physics Validation                                      │
│     └─ RMS bounce, duration, formant analysis               │
│                                                             │
│  6. Export to MahQuranApp format                             │
│     └─ JSON with idx, char, ayah, start(ms), end, wordIdx   │
└─────────────────────────────────────────────────────────────┘
Quick Start
Prerequisites
cd /path/to/tajweedsst
python3 -m venv venv
source venv/bin/activate
pip install torch torchaudio ctc-forced-aligner librosa
Single Surah
# Align Surah 90 (Al-Balad) for Abdul Basit
python ctc_align_91.py  # Template script
Batch All Surahs
# Process all 114 surahs for Abdul Basit
python batch_align_all.py
Output Format

Each letter_timing_XX.json contains an array of timing entries:

{
  "idx": 0,
  "char": "لَ",
  "ayah": 1,
  "start": 3360,
  "end": 3410,
  "duration": 50,
  "wordIdx": 0,
  "weight": 1.0
}
Fields
Field Type Description
idx int Sequential letter index
char string Arabic grapheme (base + diacritics)
ayah int Verse number (1-indexed)
start int Start time in milliseconds
end int End time in milliseconds
duration int Duration in milliseconds
wordIdx int Word index within the surah
weight float Confidence weight
Critical: Grapheme Matching

The timing data must match the grapheme count produced by MahQuranApp's splitIntoGraphemes() function. This function combines base Arabic letters with their following diacritics:

App.tsx Diacritics Set:

ً ٌ ٍ َ ُ ِ ّ ْ ٰ ۖ ۗ ۘ ۙ ۚ ۛ ۜ ٔ ٓ ـ

Plus Unicode ranges: 0x064B–0x0652 and 0x0610–0x061A

Example: The word لَآ splits into 2 graphemes: ['لَ', 'آ']

If the timing count doesn't match the grapheme count, highlighting will drift!

Physics Validation

TajweedSST validates timing against acoustic physics:

Rule Check Method
Qalqalah RMS dip + spike Envelope analysis
Ghunnah Nasal duration Duration measurement
Madd Extended vowel Duration ratio
Tafkheem Heavy articulation Formant F2 analysis
Project Structure
tajweedsst/
├── src/
│   ├── tajweed_parser.py     # Tajweed rule detection
│   ├── physics_validator.py  # Acoustic validation
│   └── duration_model.py     # Duration calibration
├── tests/                    # 34 unit/integration tests
├── ctc_align_90.py          # Single surah alignment
├── ctc_align_91.py          # Template with physics
├── batch_align_all.py       # Batch all surahs
└── README.md
Reciter Support

Currently supported:

  • Abdul Basit (114 surahs)
License

MIT

Runs of enver tajweedsst on huggingface.co

0
Total runs
0
24-hour runs
0
3-day runs
0
7-day runs
0
30-day runs

More Information About tajweedsst huggingface.co Model

tajweedsst huggingface.co

tajweedsst huggingface.co is an AI model on huggingface.co that provides tajweedsst's model effect (), which can be used instantly with this enver tajweedsst model. huggingface.co supports a free trial of the tajweedsst model, and also provides paid use of the tajweedsst. Support call tajweedsst model through api, including Node.js, Python, http.

tajweedsst huggingface.co Url

https://huggingface.co/enver/tajweedsst

enver tajweedsst online free

tajweedsst huggingface.co is an online trial and call api platform, which integrates tajweedsst's modeling effects, including api services, and provides a free online trial of tajweedsst, you can try tajweedsst online for free by clicking the link below.

enver tajweedsst online free url in huggingface.co:

https://huggingface.co/enver/tajweedsst

tajweedsst install

tajweedsst is an open source model from GitHub that offers a free installation service, and any user can find tajweedsst on GitHub to install. At the same time, huggingface.co provides the effect of tajweedsst install, users can directly use tajweedsst installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

tajweedsst install url in huggingface.co:

https://huggingface.co/enver/tajweedsst

Url of tajweedsst

tajweedsst huggingface.co Url

Provider of tajweedsst huggingface.co

enver
ORGANIZATIONS

Other API from enver

huggingface.co

Total runs: 31
Run Growth: -20
Growth Rate: -66.67%
Updated:April 19 2025
huggingface.co

Total runs: 14
Run Growth: -22
Growth Rate: -169.23%
Updated:October 17 2024
huggingface.co

Total runs: 14
Run Growth: -21
Growth Rate: -161.54%
Updated:September 11 2024
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:August 24 2024