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

كشف النشاط الصوتي

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

يقدم البرنامج المساعد تطبيقين لـ VAD:

التطبيق الافتراضي يستخدم libfvad، وهي مكتبة خفيفة الوزن لكشف النشاط الصوتي تعمل بكفاءة عبر جميع المنصات وإصدارات المحرك التي يدعمها Runtime Audio Importer.

الاستخدام الأساسي

لتمكين VAD بعد إنشاء موجة صوت، استخدم الدالة ToggleVAD:

عقدة Toggle VAD

بعد تمكين VAD، يمكنك إعادة تعيينه في أي وقت:

عقدة إعادة تعيين VAD

إعدادات VAD الافتراضية

عند استخدام موفر VAD الافتراضي، يمكنك ضبط مستوى الحساسية عن طريق تغيير وضع VAD:

عقدة تعيين وضع VAD

تتحكم معلمة الوضع (mode parameter) في مدى عدوانية مرشح VAD في تصفية الصوت. القيم الأعلى تكون أكثر تقييدًا، مما يعني أنها أقل عرضة للإبلاغ عن إيجابيات خاطئة ولكن قد تفوت بعض الكلام.

موفرو VAD

بعد تمكين VAD باستخدام دالة ToggleVAD، يمكنك الاختيار بين مختلف موفري كشف النشاط الصوتي (Voice Activity Detection) لتناسب احتياجاتك. المزود الافتراضي هو المدمج، بينما تتوفر موفرو إضافيون مثل Silero VAD من خلال ملحقات الإضافات.

عقدة تعيين موفر VAD

ملحق Silero VAD

يوفر Silero VAD كشفًا أكثر دقة للكلام باستخدام الشبكات العصبية. لاستخدامه:

  1. تأكد من تثبيت ملحق Runtime Audio Importer مسبقًا في مشروعك
  2. حمل ملحق Silero VAD من Google Drive
  3. استخرج المجلد من الأرشيف المحمل إلى مجلد Plugins في مشروعك (قم بإنشاء هذا المجلد إذا لم يكن موجودًا)
  4. أعد بناء مشروعك (هذا الملحق يتطلب مشروعًا بلغة C++)
important
  • يعمل VAD الافتراضي مع جميع إصدارات المحرك المدعومة من Runtime Audio Importer (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, و 5.6)
  • يدعم Silero VAD إصدارات Unreal Engine 4.27 وجميع إصدارات UE5 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, و 5.6)
  • Silero VAD متاح حاليًا لنظام Windows فقط
  • يتم توفير هذا الملحق كشفرة مصدرية ويتطلب مشروعًا بلغة C++ لاستخدامه
  • لمزيد من المعلومات حول كيفية بناء الملحقات يدويًا، راجع درس بناء الملحقات

بعد التثبيت، يمكنك اختياره كمزود VAD باستخدام دالة SetVADProvider مع مزود فئة Silero.

كشف بداية ونهاية الكلام

لا يكتشف Voice Activity Detection وجود الكلام فحسب، بل يسمح أيضًا باكتشاف بداية ونهاية نشاط الكلام. هذا مفيد لتحريك الأحداث عند بدء الكلام أو انتهائه أثناء التشغيل أو التسجيل.

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

مدة الكلام الدنيا

تحدد معلمة Minimum Speech Duration الحد الأدنى من نشاط الكلام المستمر المطلوب لتحريك حدث بدء الكلام. يساعد ذلك في تصفية الضوضاء القصيرة التي لا يجب اعتبارها كلامًا، للتأكد من أن يتم التعرف فقط على نشاط الكلام المستمر. القيمة الافتراضية لـ Minimum Speech Duration هي 300 ميلي ثانية.

عقدة تحديد مدة الكلام الدنيا

مدة الصمت

تحدد المعلمة مدة الصمت المدة المطلوبة من الصمت لتحريك حدث نهاية الكلام. هذا يمنع انتهاء الكشف عن الكلام بشكل مبكر أثناء التوقفات الطبيعية بين الكلمات أو الجمل. القيمة الافتراضية لـ مدة الصمت هي 500 مللي ثانية.

عقدة تحديد مدة الصمت

الربط مع مفوضي الكلام

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

Bind Event To On Speech Started Bind Event To On Speech Ended

مقارنة مزودي VAD

VAD الافتراضي (libfvad)

المزايا:

  • خفيف الوزن وفعال
  • يعمل على جميع المنصات
  • استخدام ضئيل للموارد
  • مناسب للأجهزة المحمولة ومنخفضة الطاقة

الأفضل لـ:

  • كشف الصوت البسيط في البيئات الهادئة
  • تطبيقات الهاتف المحمول
  • المشاريع التي تكون الأولوية فيها للأداء
  • عند الحاجة إلى دعم شامل للمنصات