انتقل إلى المحتوى الرئيسي

كيفية تحسين الأداء

يستخدم البرنامج المساعد طرقًا مختلفة لتسريع وحدة معالجة الرسومات (GPU) اعتمادًا على النظام الأساسي: Vulkan على أنظمة Windows و Metal على أنظمة Mac و iOS، مما يسرع عملية التعرف بشكل كبير. على الأنظمة الأساسية الأخرى، يستخدم البرنامج المساعد وحدة المعالجة المركزية (CPU) + التعليمات الداخلية (intrinsics) للتسريع. ومع ذلك، يمكنك تحسين أداء البرنامج المساعد بشكل أكبر باتباع التوصيات التالية:

  1. استخدم كشف نشاط الصوت (Voice Activity Detection - VAD)

    يُوصى بشدة باستخدام كشف نشاط الصوت لتحسين استجابة المُعرف عن طريق إرسال الكلام للتعرف بمجرد توقف المستخدم عن التحدث، بدلاً من انتظار فترات زمنية ثابتة. يُوصى بشكل خاص باستخدام Silero VAD لهذا الغرض. للحصول على تعليمات التنفيذ التفصيلية، راجع توثيق كشف نشاط الصوت.

  2. تقليل حجم الخطوة

    افتراضيًا، حجم الخطوة هو 5000 مللي ثانية (5 ثوانٍ)، مما يعني أن بيانات الصوت يتم التعرف عليها كل 5 ثوانٍ أثناء الالتقاط. إذا كنت تريد التعرف على بيانات الصوت بشكل أكثر تكرارًا، يمكنك تقليل حجم الخطوة، مثل 500 مللي ثانية (0.5 ثانية). ومع ذلك، إذا كان VAD نشطًا (وهو ما يُوصى به عادةً إلا إذا كانت لديك متطلبات محددة تحتاج إلى فترات زمنية ثابتة)، فمن المستحسن عدم الاعتماد على تقليل حجم الخطوة. عند استخدام VAD في الإعدادات النموذجية مثل التعرف على الأوامر المنشطة بالصوت أو التعرف التلقائي على الصوت مع معالجة المخزن المؤقت النهائي، سيتم التعرف على الكلام بمجرد توقف المستخدم عن التحدث على أي حال.

  3. استخدم نموذج لغة أصغر

    يمكنك التفكير في استخدام نموذج لغة أصغر، مثل Tiny Quantized (Q5_1)، لتقليل حجم النموذج وتحسين الأداء. يمكن العثور على تعليمات حول كيفية اختيار نموذج لغة هنا.

  4. تحسين إدارة حالة التعرف

    عند العمل مع مدخلات الميكروفون، تجنب التوقفات والإقلاعات غير الضرورية للمُعرف الصوتي. بدلاً من استدعاء StopSpeechRecognition و StartSpeechRecognition بشكل متكرر، مما يتطلب إعادة تخصيص الموارد، فكر في التحكم في مدخلات الصوت مباشرة. على سبيل المثال، مع موجة صوتية قابلة للالتقاط، استخدم StopCapture و StartCapture لإدارة تدفق الصوت مع الحفاظ على خيط التعرف نشطًا.