يوفر هذا المشروع واجهة برمجة تطبيقات محلية ومتوافقة مع النصي إلى كلام (TTS) باستخدام edge-tts . إنه يحاكي نقطة نهاية Openai TTS ( /v1/audio/speech ) ، مما يمكّن المستخدمين من إنشاء الكلام من نص مع خيارات صوتية مختلفة وسرعات تشغيل ، تمامًا مثل API Openai.
تستخدم edge-tts خدمة النص إلى الكلام عبر الإنترنت من Microsoft Edge ، لذلك فهي مجانية تمامًا.
عرض هذا المشروع على Docker Hub
/v1/audio/speech مع بنية طلب مماثلة وسلوك.edge-tts .requirements.txt . txt.git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts.env في دليل الجذر مع المتغيرات التالية: API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
أو ، انسخ الافتراضي .env.example مع ما يلي:
cp .env.example .envdocker compose up --build(ملاحظة: Docker-Compose ليس هو نفسه Docker Compose)
قم بتشغيل -d لتشغيل Docker Compens في "الوضع المنفصل" ، مما يعني أنه سيتم تشغيله في الخلفية وتحرير المحطة الخاصة بك.
docker compose up -dبدلاً من ذلك ، قم بالتشغيل مباشرة مع Docker :
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts لتشغيل الحاوية في الخلفية ، أضف -d بعد أمر docker run :
docker run -d -p 5050:5050 --env-file .env openai-edge-ttshttp://localhost:5050 . إذا كنت تفضل تشغيل هذا المشروع مباشرة مع Python ، فاتبع الخطوات هذه لإعداد بيئة افتراضية وتثبيت التبعيات وبدء الخادم.
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-ttsإنشاء وتفعيل بيئة افتراضية لعزل التبعيات:
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv S cripts a ctivate استخدم pip لتثبيت الحزم المطلوبة المدرجة في requirements.txt :
pip install -r requirements.txt قم بإنشاء ملف .env في الدليل الجذر وقم بتعيين المتغيرات التالية:
API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
بمجرد تكوينه ، ابدأ الخادم بـ:
python app/server.py سيبدأ الخادم في التشغيل على http://localhost:5050 .
يمكنك الآن التفاعل مع API على http://localhost:5050/v1/audio/speech ونقاط النهاية الأخرى المتاحة. انظر قسم الاستخدام للحصول على أمثلة الطلب.
/v1/audio/speechيولد الصوت من نص الإدخال. المعلمات المتاحة:
المعلمة المطلوبة:
المعلمات الاختيارية:
"tts-1" ).edge-tts صالحة (افتراضي: "en-US-AndrewNeural" ).mp3 ، opus ، aac ، flac ، wav ، pcm (افتراضي: mp3 ).1.2 . مثال طلب مع curl وحفظ الإخراج إلى ملف mp3:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "echo",
"response_format": "mp3",
"speed": 1.2
} '
--output speech.mp3أو ، أن تكون متوافقة مع معلمات نقطة نهاية Openai API:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "alloy"
} '
--output speech.mp3ومثال على لغة أخرى غير الإنجليزية:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "じゃあ、行く。電車の時間、調べておくよ。",
"voice": "ja-JP-KeitaNeural"
} '
--output speech.mp3edge-tts للغة /لغة معينة.edge-tts ، مع معلومات دعم اللغة.المساهمات مرحب بها! يرجى تورك المستودع وإنشاء طلب سحب لأي تحسينات.
تم ترخيص هذا المشروع بموجب رخصة GNU العامة العمومية V3.0 (GPL-3.0) ، ويهدف حالة الاستخدام المقبولة إلى الاستخدام الشخصي. للاستخدام المؤسسي أو غير شخصي لـ openai-edge-tts ، اتصل بي على [email protected]
نصيحة
تبديل localhost إلى IP المحلي الخاص بك (على سبيل المثال ، 192.168.0.1 ) إذا كان لديك مشاكل
قد يكون الأمر كذلك ، عند الوصول إلى نقطة النهاية هذه على خادم / كمبيوتر مختلف أو عندما يتم إجراء المكالمة من مصدر آخر (مثل Open Webui) ، تحتاج إلى تغيير عنوان URL من localhost إلى IP المحلي (شيء مثل 192.168.0.1 أو ما شابه)
افتح لوحة المسؤول وانتقل إلى الإعدادات -> الصوت
أدناه ، يمكنك رؤية لقطة شاشة للتكوين الصحيح لاستخدام هذا المشروع لاستبدال نقطة نهاية Openai
ملحوظة
عرض المستندات الرسمية لتكامل webui المفتوح مع Openai Edge TTS
في الإصدار 1.6.8 ، أضاف أي شيء دعمًا لـ "مقدمي خدمات Openai TTS العام" - وهذا يعني أنه يمكننا استخدام هذا المشروع كمزود TTS في أي شيء
افتح الإعدادات وانتقل إلى Voice & Speech (تحت مقدمي الخدمات الذكاء)
أدناه ، يمكنك رؤية لقطة شاشة للتكوين الصحيح لاستخدام هذا المشروع لاستبدال نقطة نهاية Openai
your_api_key_here - لا يلزم وجود مفتاح API "حقيقي". استخدم أي سلسلة تريد.docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latestتشغيل عينات الصوت وشاهد جميع أصوات TTS المتاحة