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

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

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

يقدم المكون الإضافي تطبيقين لكشف النشاط الصوتي:

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

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

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

عقدة Toggle VAD

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

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

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

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

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

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

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

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

عقدة تعيين مزود كاشف النشاط الصوتي (VAD)

ملحق Silero VAD

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

  1. تأكد من أن المكوّن الإضافي Runtime Audio Importer مثبت بالفعل في مشروعك

  2. لإصدارات Unreal Engine 5.5 وأقدم: قبل تنزيل المكوّن الإضافي لملحق Silero VAD، تأكد من تعطيل NNERuntimeORT في مشروعك. قد يتسبب تفعيل NNERuntimeORT في تعطل البرنامج عند استخدام Silero VAD على هذه الإصدارات من المحرك بسبب التعارضات

  3. قم بتنزيل المكوّن الإضافي لملحق Silero VAD من Google Drive

  4. استخرج المجلد من الأرشيف الذي تم تنزيله إلى مجلد Plugins الخاص بمشروعك (قم بإنشاء هذا المجلد إذا لم يكن موجودًا)

  5. لإصدارات Unreal Engine 5.6 وأحدث: قم بتحرير ملف RuntimeAudioImporterSileroVAD.uplugin لإضافة تبعية NNERuntimeORT. في حقل "Plugins"، بعد تضمين RuntimeAudioImporter، أضف:

   ,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. أعد بناء مشروعك (هذا الامتداد يتطلب مشروع 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)

  • UE 5.5 والإصدارات الأقدم: يجب تعطيل NNERuntimeORT قبل استخدام Silero VAD لمنع حدوث تعطل بسبب تضارب الإضافات

  • متطلب UE 5.6+: بدءًا من Unreal Engine 5.6، يتطلب امتداد Silero VAD إضافة تبعية الإضافة NNERuntimeORT يدويًا إلى ملف .uplugin

  • Silero VAD متاح لأنظمة Windows وLinux وMac وAndroid (بما في ذلك Meta Quest) وiOS

  • يتم توفير هذا الامتداد كشفرة مصدرية ويتطلب مشروع C++ لاستخدامه

  • لمزيد من المعلومات حول كيفية بناء الإضافات يدويًا، راجع درس بناء الإضافات

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

اكتشاف بدء وانتهاء الكلام

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

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

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

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

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

مدة الصمت

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

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

الربط مع مندوبي الكلام

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

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

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

Default VAD (libfvad)

المزايا:

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

الأفضل لـ:

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