{"id": "TK01", "variety": "msa", "category": "sun_letters", "text": "وصلت الشحنة إلى الرياض صباح الثلاثاء.", "reference_reading": "وَصَلَتِ الشُّحْنَةُ إِلَى الرِّيَاضِ صَبَاحَ الثُّلَاثَاءْ.", "tested_words": ["الشحنة", "الرياض", "الثلاثاء"], "error_codes": ["SUN_ASSIM", "PAUSAL"], "listen_for": "Three sun-letter articles: ash-shuhna, ar-riyad, ath-thulatha'. The lam of the article must not be heard. The last word takes its pausal form, with no case vowel."}
{"id": "TK02", "variety": "msa", "category": "moon_letters", "text": "افتح الملف الجديد من القائمة.", "reference_reading": "اِفْتَحِ الْمِلَفَّ الْجَدِيدَ مِنَ الْقَائِمَةْ.", "tested_words": ["الملف", "الجديد", "القائمة"], "error_codes": ["MOON_LAM", "PAUSAL"], "listen_for": "Three moon-letter articles: al-milaff (or al-malaff, also common), al-jadid, al-qa'ima. The lam is pronounced each time. A voice that learned assimilation too broadly will say aj-jadid."}
{"id": "TK03", "variety": "msa", "category": "hamzat_wasl", "text": "ثم استلم العميل الطلب.", "reference_reading": "ثُمَّ اسْتَلَمَ الْعَمِيلُ الطَّلَبْ.", "tested_words": ["استلم", "الطلب"], "error_codes": ["WASL", "SUN_ASSIM"], "listen_for": "Connected speech: thumma-stalama, with no glottal stop or extra vowel before the s of istalama. at-talab assimilates."}
{"id": "TK04", "variety": "msa", "category": "ta_marbuta", "text": "زرنا مدرسة الحي ثم عدنا إلى المدرسة.", "reference_reading": "زُرْنَا مَدْرَسَةَ الْحَيِّ ثُمَّ عُدْنَا إِلَى الْمَدْرَسَةْ.", "tested_words": ["مدرسة", "إلى", "المدرسة"], "error_codes": ["TA_MARBUTA", "PAUSAL", "WASL"], "listen_for": "madrasat al-hayy in the construct phrase, with the t heard; madrasa at the pause, with no t. ila l-madrasa: the long a of ila is shortened before the article."}
{"id": "TK05", "variety": "msa", "category": "gemination", "text": "درس أحمد الدرس، ثم درسه لأخيه.", "reference_reading": "دَرَسَ أَحْمَدُ الدَّرْسَ، ثُمَّ دَرَّسَهُ لِأَخِيهْ.", "tested_words": ["درس", "درسه"], "error_codes": ["GEMINATION", "HOMOGRAPH"], "listen_for": "darasa (studied) and darrasahu (taught it): the same letters without diacritics, separated only by the doubled r. The r in the second word must be audibly longer."}
{"id": "TK06", "variety": "msa", "category": "homograph", "text": "علم الفريق أن العلم سيرفع صباحا.", "reference_reading": "عَلِمَ الْفَرِيقُ أَنَّ الْعَلَمَ سَيُرْفَعُ صَبَاحًا.", "tested_words": ["علم", "العلم", "سيرفع"], "error_codes": ["HOMOGRAPH"], "listen_for": "'alima (learned) then al-'alam (the flag), not al-'ilm (knowledge); sayurfa' in the passive. The plain text is the test: the system has to choose the vowels from context. At the final pause sabahan becomes sabaha."}
{"id": "TK07", "variety": "msa", "category": "numbers", "text": "اشتريت 3 كتب و3 مجلات.", "reference_reading": "اِشْتَرَيْتُ ثَلَاثَةَ كُتُبٍ وَثَلَاثَ مَجَلَّاتْ.", "tested_words": ["3", "3"], "error_codes": ["NUM_GENDER", "NUM_VERBALIZE"], "listen_for": "The same digit read two ways: thalathata with kutub (singular kitab is masculine), thalatha with majallat (singular majalla is feminine). Arabic numbers 3 to 10 take the opposite gender of the counted noun."}
{"id": "TK08", "variety": "msa", "category": "numbers", "text": "تنبيه: سيتوقف النظام بعد 5 دقائق.", "reference_reading": "تَنْبِيهْ: سَيَتَوَقَّفُ النِّظَامُ بَعْدَ خَمْسِ دَقَائِقْ.", "tested_words": ["5"], "error_codes": ["NUM_GENDER", "NUM_VERBALIZE", "STYLE_MISMATCH", "PAUSAL"], "listen_for": "khamsi daqa'iq: daqiqa is feminine, so the number has no ta. tanbih takes its pausal form before the colon. Read as a system alert, the style label is urgent but not alarmed."}
{"id": "TK09", "variety": "msa", "category": "currency_abbreviation", "text": "السعر 250 ر.س شامل الضريبة.", "reference_reading": "السِّعْرُ مِئَتَانِ وَخَمْسُونَ رِيَالًا سُعُودِيًّا شَامِلَ الضَّرِيبَةْ.", "tested_words": ["250", "ر.س"], "error_codes": ["NUM_VERBALIZE", "ABBREV"], "listen_for": "mi'atani wa-khamsuna riyalan su'udiyyan. The abbreviation ر.س (Saudi riyal) is expanded, with riyal in the accusative singular required after khamsun; it is never spelled out letter by letter. Reading only riyalan, without su'udiyyan, is a policy choice: write it down if you make it."}
{"id": "TK10", "variety": "msa", "category": "title_abbreviation", "text": "حضرت د. نورة القحطاني الاجتماع.", "reference_reading": "حَضَرَتِ الدُّكْتُورَةُ نُورَةُ الْقَحْطَانِيُّ الِاجْتِمَاعْ.", "tested_words": ["د.", "الاجتماع"], "error_codes": ["ABBREV", "WASL"], "listen_for": "The title expands to the feminine ad-duktura, agreeing with the feminine verb and name. The last article joins the preceding vowel: ...l-qahtaniyyu l-ijtima', with no glottal stop."}
{"id": "TK11", "variety": "msa", "category": "date_time", "text": "الموعد يوم 15/3 الساعة 4:30 مساء.", "reference_reading": "الْمَوْعِدُ يَوْمَ الْخَامِسَ عَشَرَ مِنْ مَارِسَ، السَّاعَةَ الرَّابِعَةَ وَالنِّصْفَ مَسَاءً.", "tested_words": ["15/3", "4:30"], "error_codes": ["NUM_VERBALIZE", "DATE_POLICY"], "listen_for": "15/3 read as an ordinal day and a month. Your written policy decides the calendar (Gregorian or Hijri: in Saudi Arabia 15/3 can mean 15 Rabi' al-Awwal), whether March is said as maris or adhar, and whether 4:30 is half past four or four and thirty minutes. Check that the voice follows the policy every time. At the pause masa'an becomes masa'a."}
{"id": "TK12", "variety": "msa", "category": "prosody", "text": "وصلت الرسالة؟", "reference_reading": "وَصَلَتِ الرِّسَالَةْ؟", "tested_words": ["وصلت الرسالة؟"], "error_codes": ["PROSODY_QUESTION"], "listen_for": "A yes-no question with no question particle. Only the intonation separates it from the statement 'the message arrived', so the pitch should rise at the end."}
{"id": "TK13", "variety": "saudi_najdi", "category": "dialect_lexicon", "text": "وش رايك نروح بكرة؟", "reference_reading": "وِشْ رَايَكْ نْرُوحْ بُكْرَهْ؟", "tested_words": ["وش", "رايك"], "error_codes": ["DIALECT_LEXICON", "PROSODY_QUESTION"], "listen_for": "wesh rayak nruh bukra: wesh, not the MSA ma, and rayak without a glottal stop. A voice that falls back to MSA here has not learned Najdi. Older Najdi speech also says bakir for tomorrow; accept either."}
{"id": "TK14", "variety": "saudi_hijazi", "category": "dialect_lexicon", "text": "إيش رايك نروح بكرة؟", "reference_reading": "إِيشْ رَايَكْ نْرُوحْ بُكْرَهْ؟", "tested_words": ["إيش"], "error_codes": ["DIALECT_LEXICON", "PROSODY_QUESTION"], "listen_for": "esh rayak nruh bukra: the Hijazi question word esh, where TK13 has the Najdi wesh; the rest of the line is the same. A Saudi voice should be cast and checked for one of the two, not a mix."}
{"id": "TK15", "variety": "saudi_najdi", "category": "qaf_realization", "text": "تبي قهوة ولا شاهي؟", "reference_reading": "تِبِي قَهْوَهْ وَلَّا شَاهِي؟", "tested_words": ["تبي", "قهوة", "ولا", "شاهي"], "error_codes": ["QAF_REALIZATION", "DIALECT_LEXICON", "PROSODY_QUESTION"], "listen_for": "gahwa, with the qaf said as g, as Najdi and most central and eastern Saudi speakers say it; a uvular q here sounds read from MSA. gahawa is also a natural Najdi form. tibi (do you want), walla (or) and shahi (tea, not the MSA shay). A Hijazi script would use tibgha."}
{"id": "TK16", "variety": "saudi", "category": "code_switching", "text": "أرسل لي الـ PDF على الواتساب قبل الـ meeting.", "reference_reading": "أَرْسِلْ لِي الـ PDF عَلَى الْوَاتْسَابْ قَبْل الـ meeting.", "tested_words": ["PDF", "الواتساب", "meeting"], "error_codes": ["CODESWITCH", "QAF_REALIZATION"], "listen_for": "PDF spelled as the English letters and meeting said as an English word, each joined to the Arabic article without a pause. The English words keep an English pronunciation, and the Arabic around them keeps a Saudi one: gabl, with the qaf said as g and no case ending."}
{"id": "TK17", "variety": "msa", "category": "style", "text": "نعتذر، تأخر طلبك يوما واحدا وسيصلك غدا.", "reference_reading": "نَعْتَذِرْ، تَأَخَّرَ طَلَبُكَ يَوْمًا وَاحِدًا وَسَيَصِلُكَ غَدًا.", "tested_words": ["نعتذر", "يوما واحدا"], "error_codes": ["STYLE_MISMATCH", "PAUSAL"], "listen_for": "Record and judge it twice, once with the style label neutral and once with empathetic. The words stay the same; pace, pitch and warmth should change. na'tadhir takes its pausal form before the comma, and at the final pause ghadan becomes ghada: a long a, no n."}
{"id": "TK18", "variety": "msa", "category": "style", "text": "مبروك! تمت الموافقة على طلبك.", "reference_reading": "مَبْرُوكْ! تَمَّتِ الْمُوَافَقَةُ عَلَى طَلَبِكْ.", "tested_words": ["مبروك"], "error_codes": ["STYLE_MISMATCH", "PAUSAL"], "listen_for": "Style label cheerful. Judge whether the voice sounds glad without exaggeration, and whether the read stays clear: mabruk, tammati l-muwafaqa."}
