Mushafak
A mushaf that knows its companion — runs on your device
Last updated: 18 October 2026 · Measured on: 25 September 2026 · Applies to the Android app “مصحفك | Mushafak”
Summary: when you recite in Mushafak it may point at a word and say it was wrong. We measure two things: how often it points at a word you said correctly (false accusation), and how many real mistakes it catches (detection). We publish both as measured, and we say plainly that neither has reached where we want it. That is why the app says “not clear” where it is unsure, instead of accusing you.
It is when the app flags a word you recited correctly. We count it as worse than missing a mistake: a learner told “you were wrong” when they were right loses trust in the app and may even change a correct recitation. A missed mistake can still be caught next time. So our rule is: nobody is accused unless accusation precision is at least 95%; otherwise the app says “not clear” and does not blame.
Out of the words the reader really got wrong (as judged by a human reviewer), how many the app caught. Higher is more useful, but it must not be bought with more false accusations.
Real learner recordings whose wrong words were labelled by a human reviewer. We kept 198 rows (45 recordings): 666 correct words and 51 wrong words. Rows whose position in the audio could not be trusted were dropped (38 rows), and correct words right next to a mistake were excluded from the false-accusation count (188 words). The audio is never used to train the shipped models and is not redistributed.
learner_gold_v1 · sobolev210/quran-recitation-errors (MIT) · Figure source: docs/qa/tasmi_2026-09-25/learner_gate_g5.md:1-2
Each cell: count / total = rate, then the 95% Wilson confidence interval in brackets. False accusation is computed over correct words; detection over wrong words.
| Method | False accusation (lower is better) | Detection (higher is better) | Source |
|---|---|---|---|
| On-device model (tiny) | 11.56% (77/666) [9.35 – 14.21] | 25.5% (13/51) [15.55 – 38.87] | docs/qa/tasmi_2026-09-25/learner_gate_g5.md:6 |
| Larger model (base) | 6.91% (46/666) [5.22 – 9.09] | 15.7% (8/51) [8.17 – 28.01] | docs/qa/tasmi_2026-09-25/learner_gate_g5.md:7 |
| Cloud verification (turbo) | 7.06% (47/666) [5.35 – 9.26] | 7.8% (4/51) [3.09 – 18.5] | docs/qa/tasmi_2026-09-25/learner_gate_g5.md:8 |
| Cloud and on-device together: accuse only when both agree | 4.2% (28/666) [2.92 – 6.01] | 7.8% (4/51) [3.09 – 18.5] | docs/qa/tasmi_2026-09-25/learner_gate_g5.md:11 |
Models measured: on-device tiny, base, and cloud turbo.
The learner set is not labelled by riwaya, so we have no false-accusation or detection figure per riwaya, and we will not publish what we have not measured. What we did measure per riwaya is position tracking on professional reciters:
| Riwaya | False accusation | Detection | Position tracking | Source |
|---|---|---|---|---|
| Hafs | not measured | not measured | 98.8% | docs/research/REVIEW_2026-09-21/10_TASMI_STRATEGY.md:11 |
| Warsh | not measured | not measured | 91.7% | docs/research/REVIEW_2026-09-21/10_TASMI_STRATEGY.md:11 |
| Qalun | not measured | not measured | 98.4% | docs/research/REVIEW_2026-09-21/10_TASMI_STRATEGY.md:11 |
202 ayat x 3 riwayat x 7 professional reciters (model recitation, not learners). It measures whether the app followed the reciter's position, not whether it correctly flagged a mistake.
Replay of 338 recorded "Recite with me" sessions through the reading follower: no false accusation was recorded, and skipped passages were caught in 22 of 24 sessions. This is a replay, not a human-labelled set, so it is not comparable with the learner table.
10 October 2026 · Figure source: docs/qa/RECITE_RANGE_2026-10-10.md:19,21
It is generated from a single data file holding the figures, the source of each figure (a file and line in our repository) and the measurement date; an automated test blocks publishing a figure without a source. It is updated with every new model we measure.