عن المشروع
# podgenai
podgenai هو تطبيق Python يولّد ملفات MP3 صوتية تعليمية بمتحدث واحد أو متحدثين (كتب صوتية/بودكاست) حول موضوع معين باستخدام نموذج OpenAI LLM. يأتي المحتوى من المعرفة الداخلية للنموذج أو من مستند مصدر Markdown مقدم؛ لا يُستخدم البحث على الويب.
## كيف يعمل
بالنسبة لموضوع معين، تقوم الأداة بما يلي:
1. تسرد المواضيع الفرعية ذات الصلة باستخدام LLM (تتوقف إذا كان الموضوع غير معروف أو غير مدعوم)
2. تختار الأصوات (صوت واحد للمونولوج؛ ذكر وأنثى للحوار) عبر LLM
3. تولّد نص المونولوج بشكل متزامن لكل موضوع فرعي
4. تزيل التكرار عبر المواضيع الفرعية المتجاورة باستخدام نهج أحمر-أسود فردي-زوجي، مما يقلل الطول الإجمالي بنسبة 6-40%
5. للحوارات، تولّد نص الحوار وتعليمات النبرة
6. تحوّل النص إلى كلام باستخدام نماذج OpenAI TTS بشكل متزامن
7. تدمج مقاطع الصوت باستخدام `ffmpeg`، مع إضافة توقفات بين الأجزاء والمواضيع الفرعية
## النماذج المستخدمة
- **نموذج المعرفة** (`gpt-6-sol`): سرد المواضيع الفرعية، اختيار الأصوات، توليد نص المونولوج (من المعرفة الداخلية)، توليد نص الحوار
- **نموذج النص** (`gpt-6-sol`): توليد نص المونولوج من المستندات المصدرية، إزالة التكرار
- **نموذج TTS** (`gpt-4o-mini-tts-2025-12-15`): توليد الكلام
## الاستخدام
- يتطلب [مفتاح OpenAI API](https://platform.openai.com/api-keys)
- المدة الافتراضية للإخراج تستهدف حوالي ساعة واحدة؛ التغطية الشاملة غالبًا تنتج ملفات متعددة الساعات
- يمكن تحديد الأقسام باستخدام `--max-sections` (الحد الأدنى 3) للتحكم في المدة
- يدعم وضع المتحدث الواحد (`--speakers 1`) ووضع المتحدثين
- يقبل مستندات مصدر Markdown عبر `--document`
- يمكن أن يتضمن الإخراج علامات صوتية عند حدود الأقسام
- يُخزَّن مؤقتًا محليًا في دليل `./work/<topic>`
## التكوين
- عيّن `OPENAI_API_KEY` في ملف `.env` أو في البيئة
- اختياريًا عيّن `PODGENAI_OPENAI_MAX_WORKERS` (الافتراضي: 16، الحد الأقصى: 32)
- يتطلب `ffmpeg` و`ffprobe` لتسلسل الصوت
## تقدير التكلفة
التكلفة التقريبية هي 10 دولارات أمريكية لبودكاست مدته 10 ساعات، مع معظم التكاليف من توليد TTS. المدد الأقصر تكلف أقل نسبيًا.
## صيغ الإخراج
- ملفات MP3 مولّدة للاستهلاك ككتب صوتية/بودكاست
- سرعات التشغيل الموصى بها: 1.05x للمواضيع غير التقنية، 1.0x للمواضيع التقنية، 0.95x للمحتوى بلغة أجنبية
## التثبيت
متاح عبر PyPI: `pip install podgenai` أو `uv add podgenai`
يمكن أيضًا استخدامه كمكتبة Python مع دالة `generate_media()`.
## الترخيص
رخصة GNU Lesser General Public License (LGPL)
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.