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

كيفية استخدام المكون الإضافي

تم تصميم مكون Runtime Speech Recognizer للتعرف على الكلمات من بيانات الصوت الواردة. يستخدم نسخة معدلة قليلاً من whisper.cpp للعمل مع المحرك. لاستخدام المكون الإضافي، اتبع الخطوات التالية:

جانب المحرر

  1. حدد نماذج اللغة المناسبة لمشروعك كما هو موضح هنا.

جانب التشغيل

  1. أنشئ مُعرّف الكلام وضبط المعلمات اللازمة (CreateSpeechRecognizer، للمعاملات انظر هنا).
  2. اربط بالمفوضين المطلوبين (OnRecognitionFinished، OnRecognizedTextSegment و OnRecognitionError).
  3. ابدأ التعرف على الكلام (StartSpeechRecognition).
  4. معالجة بيانات الصوت وانتظر النتائج من المفوضين (ProcessAudioData).
  5. أوقف مُعرّف الكلام عند الحاجة (مثلاً بعد بث OnRecognitionFinished).

يدعم المكون الإضافي بيانات الصوت الواردة بتنسيق PCM 32-bit نقطة عائمة متداخلة. بينما يعمل بشكل جيد مع Runtime Audio Importer، إلا أنه لا يعتمد عليه مباشرة.

معلمات التعرف

يدعم المكون الإضافي التعرف على بيانات الصوت سواء كانت متدفقة أو غير متدفقة. لضبط معلمات التعرف لحالة الاستخدام الخاصة بك، استدعِ SetStreamingDefaults أو SetNonStreamingDefaults. بالإضافة إلى ذلك، لديك المرونة لضبط المعلمات الفردية يدوياً مثل عدد الخيوط، حجم الخطوة، ما إذا كنت تريد ترجمة اللغة الواردة إلى الإنجليزية، وما إذا كنت تريد استخدام النص السابق. راجع قائمة معلمات التعرف للحصول على قائمة كاملة بالمعلمات المتاحة.

تحسين الأداء

يرجى الرجوع إلى قسم كيفية تحسين الأداء للحصول على نصائح حول تحسين أداء المكون الإضافي.

كشف النشاط الصوتي (VAD)

عند معالجة مدخلات الصوت، خاصة في سيناريوهات البث المباشر، يُوصى باستخدام كشف النشاط الصوتي (VAD) لتصفية مقاطع الصوت الفارغة أو التي تحتوي على ضوضاء فقط قبل وصولها إلى المُعرّف. يمكن تمكين هذا التصفية على جانب موجة الصوت القابلة للالتقاط باستخدام مكون Runtime Audio Importer، مما يساعد على منع نماذج اللغة من "الهلوسة" - أي محاولة العثور على أنماط في الضوضاء وإنشاء نصوص غير صحيحة.

للحصول على أفضل نتائج للتعرف على الكلام، نوصي باستخدام موفر Silero VAD الذي يوفر تحملاً أفضل للضوضاء وكشفًا أكثر دقة للكلام. يتوفر Silero VAD كامتداد لمكون Runtime Audio Importer. للحصول على تعليمات مفصلة حول تكوين VAD، راجع توثيق كشف النشاط الصوتي. :::ملاحظة العقد القابلة للنسخ في الأمثلة أدناه تستخدم موفر VAD الافتراضي لأسباب التوافقية. لتحسين دقة التعرف، يمكنك بسهولة التبديل إلى Silero VAD عن طريق:

  1. تثبيت ملحق Silero VAD كما هو موضح في قسم ملحق Silero VAD
  2. بعد تفعيل VAD باستخدام عقدة Toggle VAD، أضف عقدة Set VAD Provider واختر "Silero" من القائمة المنسدلة :::

في مشروع العرض المضمن مع الملحق، يكون VAD مفعلاً افتراضيًا. يمكنك العثور على مزيد من المعلومات حول تنفيذ العرض في مشروع العرض.

أمثلة

يوجد عرض جيد لمشروع مضمن في مجلد Content -> Demo الخاص بالملحق، والذي يمكنك استخدامه كمثال للتنفيذ.

توضح هذه الأمثلة كيفية استخدام ملحق Runtime Speech Recognizer مع كل من إدخال الصوت المتدفق وغير المتدفق، باستخدام Runtime Audio Importer للحصول على بيانات الصوت كمثال. يرجى ملاحظة أن تنزيل RuntimeAudioImporter بشكل منفصل مطلوب للوصول إلى نفس مجموعة ميزات استيراد الصوت المعروضة في الأمثلة (مثل موجة الصوت القابلة للالتقاط و ImportAudioFromFile). هذه الأمثلة مخصصة فقط لتوضيح المفهوم الأساسي ولا تتضمن معالجة الأخطاء.

أمثلة إدخال الصوت المتدفق

ملاحظة: في UE 5.3 والإصدارات الأخرى، قد تواجه عقدًا مفقودة بعد نسخ Blueprints. يمكن أن يحدث هذا بسبب الاختلافات في تسلسل العقد بين إصدارات المحرك. تحقق دائمًا من أن جميع العقد متصلة بشكل صحيح في تنفيذك.

1. التعرف الأساسي على الصوت المتدفق

يوضح هذا المثال الإعداد الأساسي لالتقاط بيانات الصوت من الميكروفون كتدفق باستخدام موجة الصوت القابلة للالتقاط وتمريرها إلى معالج الكلام. يسجل الكلام لمدة حوالي 5 ثوانٍ ثم يعالج التعرف، مما يجعله مناسبًا للاختبارات السريعة والتنفيذات البسيطة. عقد قابلة للنسخ.

الميزات الرئيسية لهذا الإعداد:

  • مدة تسجيل ثابتة لمدة 5 ثوانٍ
  • تعرف لمرة واحدة بسيط
  • متطلبات إعداد بسيطة
  • مثالي للاختبار وإنشاء النماذج

2. التعرف المتحكم به على الصوت المتدفق

يمتد هذا المثال لإعداد الصوت المتدفق الأساسي بإضافة تحكم يدوي في عملية التعرف. يسمح لك ببدء وإيقاف التعرف عند الرغبة، مما يجعله مناسبًا للسيناريوهات التي تحتاج فيها إلى تحكم دقيق في وقت حدوث التعرف. عقد قابلة للنسخ.

الميزات الرئيسية لهذا الإعداد:

  • تحكم يدوي بالبدء/الإيقاف
  • قدرة التعرف المستمر
  • مدة تسجيل مرنة
  • مناسب للتطبيقات التفاعلية

3. التعرف على الأوامر الصوتية

هذا المثال مُحسّن لسيناريوهات التعرف على الأوامر. فهو يجمع بين التعرف المتدفق وكشف النشاط الصوتي (VAD) لمعالجة الكلام تلقائيًا عندما يتوقف المستخدم عن الكلام. يبدأ المُعرّف بمعالجة الكلام المتراكم فقط عند اكتشاف الصمت، مما يجعله مثاليًا لواجهات الأوامز. عقد قابلة للنسخ.

الميزات الرئيسية لهذا الإعداد:

  • تحكم يدوي بالبدء/التوقف
  • تمكين كشف النشاط الصوتي (VAD) لاكتشاف مقاطع الكلام
  • تشغيل التعرف تلقائيًا عند اكتشاف الصمت
  • مثالي للتعرف على الأوامز القصيرة
  • تقليل الحمل المعالِج بالتعرف فقط على الكلام الفعلي

4. تهيئة التعرف الصوتي التلقائي مع معالجة المخزن المؤقت النهائي

هذا المثال هو نوع آخر من نهج التعرف الصوتي المُفعّل صوتيًا مع معالجة مختلفة لدورة الحياة. يبدأ المُعرّف تلقائيًا أثناء التهيئة ويتوقف أثناء إلغاء التهيئة. الميزة الرئيسية هي أنه يعالج آخر مخزن مؤقت للصوت المتراكم قبل إيقاف المُعرّف، مما يضمن عدم فقدان أي بيانات كلام عندما يرغب المستخدم في إنهاء عملية التعرف. هذا الإعداد مفيد بشكل خاص للتطبيقات التي تحتاج إلى التقاط كامل العبارات الصوتية للمستخدم حتى عند التوقف في منتصف الكلام. عقد قابلة للنسخ.

الميزات الرئيسية لهذا الإعداد:

  • يبدأ المُعرّف تلقائيًا عند التهيئة
  • يتوقف المُعرّف تلقائيًا عند إلغاء التهيئة
  • يعالج المخزن المؤقت النهائي للصوت قبل التوقف تمامًا
  • يستخدم كشف النشاط الصوتي (VAD) للتعرف الفعال
  • يضمن عدم فقدان بيانات الكلام عند التوقف

إدخال الصوت غير المتدفق

هذا المثال يستورد بيانات الصوت إلى موجة الصوت المستوردة ويتعرف على كامل بيانات الصوت بمجرد استيرادها. عقد قابلة للنسخ.