العودة إلى عن المنصة · تطبيق الحفظ والتسميع
جمع البيانات والتسميات للتدريب
هذا الدليل يوجّهك لتجهيز مقاطع صوتية وملف manifest.jsonl جاهزين للتدريب في المجلد services/quran-tajweed-acoustic-train. بعد تدريب نموذج جيد يمكن دمجه أو استبدال مسار التحليل الحالي (مثل Whisper المحلي) عبر خدمة استنتاج وعقد JSON موحّد.
1) الترتيب الموصى به
- تثبيت معاني مفاتيح القواعد مع معلّم (انظر القائمة أدناه) — لا تغيّر المفاتيح أثناء الجمع دون إصدار جديد.
- توحيد بيئة التسجيل: ميكروفون ومسافة وغرفة هادئة، بدون موسيقى أو صدى قوي.
- ابدأ بمقاطع «مركز قاعدة» قصيرة، ثم آيات طبيعية بعدة قواعد.
- راجع عيّنة عشوائية (مثلاً 15٪) بمعلّم ثانٍ لقياس الاتساق.
- صدّر WAV أحادي 16 kHz و16-bit؛ اكتب JSONL؛ قسّم train/val/test بدون تسرّب.
- شغّل التدريب ثم قيّم على مجموعة الاختبار قبل التفكير في الاستبدال في المنتج.
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) بعد التدريب والاستبدال في الموقع
- احفظ أوزان النموذج ووثّق الإصدار ومجموعة البيانات المستخدمة.
- أنشئ خدمة استنتاج (مثلاً FastAPI) تُرجع JSON متوافقاً مع أو ممتداً لـ `tajweed-engine-contract`.
- ادمج أو استبدل مسار `tajweed-local-engine` بحذر، مع إبقاء صياغة «تقدير تعليمي» للمتعلّم حتى مراجعة الجودة.
أخلاقيات وترخيص
موافقة المتطوعين على استخدام التسجيلات، واحترام النص القرآني، والالتزام بشروط أي مصدر خارجي. نسخة مطوّلة من هذا الدليل في المستودع: docs/tajweed-training-data-guide.md.
