Whisper.cpp هو نسخة عالية الأداء مكتوبة بلغة C/C++ من نموذج التعرف التلقائي على الكلام (ASR) Whisper الخاص بـ OpenAI. يقوم هذا المشروع بإعادة تنفيذ نموذج Whisper الأصلي القائم على Python بلغة C/C++ خالصة، مما يحقق وظيفة التعرف على الكلام بكفاءة عالية وبدون تبعيات، وهو مناسب بشكل خاص للتشغيل في البيئات محدودة الموارد والأجهزة المدمجة.
النموذج | حجم القرص | استخدام الذاكرة | سرعة الاستدلال | الدقة |
---|---|---|---|---|
tiny | 75 ميجابايت | ~273 ميجابايت | الأسرع | أساسي |
base | 142 ميجابايت | ~388 ميجابايت | سريع | جيد |
small | 466 ميجابايت | ~852 ميجابايت | متوسط | جيد جدا |
medium | 1.5 جيجابايت | ~2.1 جيجابايت | أبطأ | ممتاز |
large | 2.9 جيجابايت | ~3.9 جيجابايت | بطيء | الأفضل |
# استنساخ المشروع
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
# تجميع المشروع
cmake -B build
cmake --build build --config Release
# تنزيل النموذج
./models/download-ggml-model.sh base.en
# نسخ الصوت
./build/bin/whisper-cli -f samples/jfk.wav -m models/ggml-base.en.bin
# تنزيل النموذج
docker run -it --rm -v $(pwd)/models:/models \
ghcr.io/ggml-org/whisper.cpp:main \
"./models/download-ggml-model.sh base /models"
# نسخ الصوت
docker run -it --rm \
-v $(pwd)/models:/models \
-v $(pwd)/audio:/audio \
ghcr.io/ggml-org/whisper.cpp:main \
"whisper-cli -m /models/ggml-base.bin -f /audio/sample.wav"
Whisper.cpp هو حل ممتاز للغاية للتعرف على الكلام، وقد نجح في نقل نموذج Whisper الخاص بـ OpenAI إلى نظام C/C++ الأساسي، مما يحقق أداءً عاليًا واستهلاكًا منخفضًا للموارد وتوافقًا واسعًا مع الأنظمة الأساسية. سواء تم استخدامه لتطوير تطبيقات الهاتف المحمول أو الأنظمة المدمجة أو عمليات نشر الخادم واسعة النطاق، يمكن لـ whisper.cpp توفير قدرات موثوقة وفعالة للتعرف على الكلام.
هذا المشروع مناسب بشكل خاص للسيناريوهات التالية: