تخطّي إلى المحتوى الرئيسي

العودة إلى عن المنصة · تطبيق الحفظ والتسميع

جمع البيانات والتسميات للتدريب

هذا الدليل يوجّهك لتجهيز مقاطع صوتية وملف manifest.jsonl جاهزين للتدريب في المجلد services/quran-tajweed-acoustic-train. بعد تدريب نموذج جيد يمكن دمجه أو استبدال مسار التحليل الحالي (مثل Whisper المحلي) عبر خدمة استنتاج وعقد JSON موحّد.

ابدأ المساهمة من المتصفح (بدون تقنية)

1) الترتيب الموصى به

  1. تثبيت معاني مفاتيح القواعد مع معلّم (انظر القائمة أدناه) — لا تغيّر المفاتيح أثناء الجمع دون إصدار جديد.
  2. توحيد بيئة التسجيل: ميكروفون ومسافة وغرفة هادئة، بدون موسيقى أو صدى قوي.
  3. ابدأ بمقاطع «مركز قاعدة» قصيرة، ثم آيات طبيعية بعدة قواعد.
  4. راجع عيّنة عشوائية (مثلاً 15٪) بمعلّم ثانٍ لقياس الاتساق.
  5. صدّر WAV أحادي 16 kHz و16-bit؛ اكتب JSONL؛ قسّم train/val/test بدون تسرّب.
  6. شغّل التدريب ثم قيّم على مجموعة الاختبار قبل التفكير في الاستبدال في المنتج.

2) أنواع المقاطع

  • مركز قاعدة: حوالي 0.5–2 ثانية حول موضع واحد (مثلاً إخفاء أو مدّ).
  • آية طبيعية: 2–8 ثوانٍ، تلاوة واقعية بعدة قواعد في نفس الملف (multi-label).
  • سلبي مدروس: نطق مقصود خاطئ بإشراف معلّم وموافقة المتطوع — لتقليل الإيجابيات الكاذبة.
  • مرجع معتمد (اختياري): تسجيلات خارجية مرخّصة فقط — راجع شروط الاستخدام.

3) الكم والعدد (توجيهي)

  • تجريبي للكود فقط: نحو 50 مقطع — غير كافٍ لجودة تعميم.
  • أول دفعة جدية: على الأقل 300 مقطعاً إجمالاً، و30 على الأقل لكل قاعدة حيث ينطبق المثال (القواعد النادرة تحتاج تجميعاً مقصوداً).
  • اتجاه منتج: 800–2000+ مقطع مع موازنة بين القواعد وتنويع المواضع.
  • أخطاء مقصودة: حتى حوالي 10–20٪ كحد أعلى معقول مع توثيق.

تقسيم مقترح للشقوق: تدريب 75٪، تحقق 15٪، اختبار 10٪.

4) جودة الصوت

  • WAV أحادي، 16000 Hz، PCM 16-bit (حوّل من MP3 قبل التدريب إن لزم).
  • طول عملي حوالي 0.4–4 ث؛ اترك هامش صمت قصير في البداية والنهاية.
  • صوت القارئ أوضح من الخلفية؛ سجّل نوع الميكروفون في الحقل الاختياري في الـ manifest إن أمكن.

5) عقد manifest (سطر JSON لكل مقطع)

إلزامي: audio_rel، rules (مصفوفة مفاتيح من القائمة التالية).

مستحسن: clip_id، split، surah، ayah، clip_type، annotator_id، notes_ar. مخطط JSON اختياري: services/quran-tajweed-acoustic-train/manifest.schema.json.

{"clip_id":"001","audio_rel":"wav/001.wav","rules":["noon_ikhfa"],"split":"train","surah":2,"ayah":6}

6) مفاتيح القواعد المعتمدة (multi-label)

يجب أن تطابق هذه القائمة ملف Python في المشروع (لا تستخدم مفاتيحاً خارجها دون تحديث الكود).

  • noon_izhar
  • noon_idgham_ghunna
  • noon_idgham_bila
  • noon_iqlab
  • noon_ikhfa
  • meem_ikhfa_shafawi
  • meem_idgham_shafawi
  • meem_izhar_shafawi
  • madd
  • qalqalah
  • ghunnah
  • lam_shamsiyah
  • lam_qamariyah

7) بعد التدريب والاستبدال في الموقع

  1. احفظ أوزان النموذج ووثّق الإصدار ومجموعة البيانات المستخدمة.
  2. أنشئ خدمة استنتاج (مثلاً FastAPI) تُرجع JSON متوافقاً مع أو ممتداً لـ `tajweed-engine-contract`.
  3. ادمج أو استبدل مسار `tajweed-local-engine` بحذر، مع إبقاء صياغة «تقدير تعليمي» للمتعلّم حتى مراجعة الجودة.

أخلاقيات وترخيص

موافقة المتطوعين على استخدام التسجيلات، واحترام النص القرآني، والالتزام بشروط أي مصدر خارجي. نسخة مطوّلة من هذا الدليل في المستودع: docs/tajweed-training-data-guide.md.