Skip to content

واجهة Gradio

مدخل الواجهة موجود في src/quran_muaalem/gradio_app.py ويُعرّف كسكربت طرفي باسم quran-muaalem-ui في pyproject.toml.

ماذا تفعل الواجهة؟

أهم الدوال في src/quran_muaalem/gradio_app.py:

  • process_audio(...)
    • تحميل الصوت عبر librosa.load.
    • بناء مرجع صوتي عبر quran_phonetizer.
    • تشغيل Muaalem وإرجاع HTML.
  • update_uthmani_ref(...)
    • جلب نص الرسم العثماني عبر quran_transcript.Aya.
  • create_gradio_input_for_field(...)
    • بناء عناصر الإدخال من MoshafAttributes.model_fields.

مسار الاستخدام في الواجهة

  1. اختيار السورة و الآية.
  2. تحديد رقم الكلمة و عدد الكلمات.
  3. رفع الصوت أو التسجيل.
  4. الضغط على زر التحليل لإظهار المقارنة.

إذا كان مدى الكلمات يقطع كلمة عثمانية، ستظهر رسالة تحذير مرتبطة بـ PartOfUthmaniWord.

تشغيل الواجهة

python
app.launch(server_name="0.0.0.0", share=True)
  • لتعطيل المشاركة العامة: عدّل share=False في main().
  • لتغيير المنفذ أو الواجهة: عدّل استدعاء app.launch(...).

تشغيل الواجهة محليًا

bash
pip install "quran-muaalem[ui]"
quran-muaalem-ui

السكربت quran-muaalem-ui يشير إلى quran_muaalem.gradio_app:main.

قيود معروفة

  • الواجهة تعمل بأسلوب غير متدفق (تعالج الصوت كاملًا دفعة واحدة).
  • الأداء يعتمد على طول الصوت وتوفر GPU.
  • للمعالجة الدُفعية يُفضّل استخدام واجهة بايثون.