رسالة نصية إلى API REST لمحركات TTS متعددة.
يمكنك إرسال نص ليتم تحويله إلى صوت ، باستخدام محركات TTS المختلفة والمؤثرات الصوتية. بعد ذلك ، سوف تستمع إليه على جهاز الصوت المحلي الخاص بك ، أو تلقي ملف الصوت الناتج.
أولاً ، يجب عليك تثبيت محركات TTS المدعومة:
apt install python3 sox libsox-fmt-mp3
pip install google_speechapt install python3 sox libsox-fmt-mp3
pip install gTTSapt install festival festvox-ellpc11kapt install espeak تحتاج أيضًا إلى تثبيت Nodejs و NPM ، ثم قم ببساطة بتشغيل npm install npm start . يجب أن تعمل API الآن على http://localhost:3000 .
أو يمكنك فقط استخدام صورة Docker PEDROETB/TTS-API ، والتي تم تكوين جميع التبعيات بالفعل.
الشرط الوحيد هو تثبيت Docker . ثم ، يمكنك الجري:
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api سيتم تشغيل واجهة برمجة التطبيقات ويمكن الوصول إليها على http://localhost:3000 .
بدلاً من ذلك ، يمكنك نشرها في مجموعة سرب Docker باستخدام docker compose (تم تضمينها بالفعل في Docker إذا كنت تستخدم الإصدار الحديث) و docker swarm (إنشاء مجموعة سرب أولاً):
cd deploy
# Deploy Caddy service
env $( grep -v ' ^[#| ] ' .env | xargs )
TRAEFIK_DOMAIN=change.me
docker stack deploy
-c compose.caddy.yaml
tts-api
# Run TTS-API container
docker compose
-f compose.tts-api.yaml
-p tts-api
up -d يتم إعداد الخدمة لتكون عكسيًا مع TRAEFIK ، ويمكن الوصول إليها في مجال tts.${TRAEFIK_DOMAIN} . لم يتم وصف كيفية تشغيل Traefik هنا ، والتحقق من موقعه الرسمي.
يحتاج الوكيل إلى القليل من المساعدة من Caddy ، لأن Docker Swarm غير متوافق مع تكوين الأجهزة (المطلوبة لاستخدام إمكانيات الصوت) ولا يمكن لـ Trafik العمل مع حاويات Docker و Docker Swarm Services في وقت واحد. وبهذه الطريقة ، لا يمكن سوى الوصول إلى خدمة Caddy باستخدام حاوية Trafik و tts-api فقط من خلال البروتين العكسي المقدم من قبل Caddy (نفس الطريقة التي يتم بها ترشيح تراكفيك إلى Caddy ).
يمكن أن يتم تشغيل كلاهما ، حاوية Docker وخدمة ، على مضيفين مختلفين ، لأنها قادرة على التواصل من خلال شبكة تراكب Docker. قم بتشغيل حاوية tts-api Docker على المضيف الذي يحتوي على مكبرات صوت ، حتى تتمكن من الاستماع إلى الكلام.
لا تنس تحرير متغير بيئة TRAEFIK_DOMAIN قبل النشر.
عند التشغيل ، ستتلقى واجهة برمجة التطبيقات طلبات البريد على http://localhost:3000 . يمكنك استخدام عميل REST المفضل لديك لإرسال طلب ، أو استخدام النموذج المدمج.
يتوفر كلا الوضعين (تشغيل الصوت أو تنزيله) باستخدام رموز صوتية مختلفة ، حدد واحدة وفقًا لاحتياجاتك.
انتقل إلى http://localhost:3000 مع متصفحك ، املأ النموذج بالبيانات وأرسله. تماما.
يمكنك إرسال طلب نشر إلى http://localhost:3000 باتباع هذا المخطط:
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } على سبيل المثال ، باستخدام curl :
# Play audio
curl http://localhost:3000
-d ' { "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
# Download audio file
curl http://localhost:3000
-d ' { "voice": "gtts_file", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
-o ' output.mp3 ' Google Keep هو أداة سطر أوامر Multiplatform بسيطة لقراءة النص باستخدام Google Translate TTS (نص إلى الكلام) API.
يجب أن تكون على الإنترنت للتواصل مع خوادم Google.
تعرف على المزيد في https://github.com/desbma/googlespeech
Google Text-to-Specte (GTTS) عبارة عن مكتبة Python و CLI أداة للتفاعل مع Google Translate API من نص إلى كلام.
يجب أن تكون على الإنترنت للتواصل مع خوادم Google.
تعرف على المزيد في https://github.com/pndurette/gtts
Festival عبارة عن طاولة عمل مجانية لتوليف الكلام متعددة اللغات تعمل على منصات متعددة تقدم نص صندوق أسود إلى الكلام ، بالإضافة إلى بنية مفتوحة للبحث في تخليق الكلام.
إنه يعمل في وضع عدم الاتصال.
تعرف على المزيد على http://www.cstr.ed.ac.uk/projects/festival/ و http://festvox.org/festival/
ESPEAK عبارة عن مزج خطاب الكلام المفتوح المصدر مدمج للغة الإنجليزية واللغات الأخرى ، لـ Linux و Windows.
إنه يعمل في وضع عدم الاتصال.
تعرف على المزيد في http://espeak.sourceforge.net/
يتم إصدار هذا المشروع تحت رخصة معهد ماساتشوستس للتكنولوجيا.