تحويل المحتوى المكتوب إلى خطاب باستخدام Google AI (Gemini) لتوليد النصوص واسترجاع المعلومات المستندة إلى الإنترنت.
يعتمد هذا المشروع على مثال في اختبار/app.ts. ينفذ الخطوات التالية:
تم اختبار هذا المشروع على Linux (Ubuntu 24.04 LTS X86_64). يمكن لمستخدمي Windows تثبيت Sox عبر SourceForge. المعلومات الخاصة بـ MacOS غير متوفرة حاليًا.
| مهمة | أولوية | حالة |
|---|---|---|
| تنفيذ دردشة الجوزاء | عالي | ✅ الانتهاء |
| تطوير التعرف على الصوت | عالي | ✅ الانتهاء |
| تنفيذ الكشف عن لغة الصوت | عالي | ✅ الانتهاء |
| تنفيذ الكشف عن اللغة النصية | واسطة | ✅ الانتهاء |
| تنفيذ مشغل صوت | قليل | ✅ الانتهاء |
| تحديد التعداد | قليل | ✅ الانتهاء |
| دمج تصحيح الأخطاء | قليل | ✅ الانتهاء |
قبل استخدام هذا المستودع ، تأكد من تثبيت التبعيات التالية على نظامك:
sudo apt-get install soxsudo apt-get install libsox-fmt-allsudo apt install ffmpeg choco install ffmpeg (باستخدام الشوكولاتة) أو التنزيل من موقع الويب الرسمي تعليمات التثبيت الخاصة بـ MacOS غير متوفرة في هذا الوقت.
لتثبيت الحزمة ، استخدم أحد الأوامر التالية بناءً على مدير الحزمة المفضل لديك:
# npm
$ npm install git+https://github.com/Stawa/GTTS.git --legacy-peer-deps
# Bun
$ bun install git+https://github.com/Stawa/GTTS.git --trustقبل الغوص في الأمثلة ، تأكد من أن لديك مفاتيح API وبيانات الاعتماد التالية:
lib.GoogleGemini )lib.TextToSpeech )lib.VoiceRecognition.fetchTranscriptGoogle )lib.VoiceRecognition.fetchTranscriptDeepgram )lib.SummarizeText )تأكد من تخزين مفاتيح واجهة برمجة التطبيقات هذه بشكل آمن وعدم الالتزام بها للتحكم في الإصدار. فكر في استخدام متغيرات البيئة أو نظام إدارة المفاتيح الآمن.
إليك مثال موجز يوضح كيفية إنشاء استجابة باستخدام واجهة برمجة تطبيقات Google Gemini:
import { GoogleGemini } from "@stawa/gtts" ;
import dotenv from "dotenv" ;
dotenv . config ( ) ;
const gemini = new GoogleGemini ( {
apiKey : process . env . GEMINI_API_KEY ,
model : "gemini-1.5-flash" ,
enableLogging : true ,
} ) ;
async function main ( ) {
try {
const question = "When was Facebook launched?" ;
console . log ( `Question: ${ question } ` ) ;
const response = await gemini . chat ( question ) ;
console . log ( `Gemini's response: ${ response } ` ) ;
} catch ( error ) {
console . error ( "An error occurred:" , error ) ;
}
}
main ( ) ;نحن نقدر مساهمات جميع متعاونينا. يساعد جهود كل شخص في جعل هذا المشروع أفضل. شكر خاص لجميع المساهمين الذين ساعدوا في تشكيل هذا المشروع!