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

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

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

يقدم الإضافة تنفيذين لـ VAD:

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

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

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

عقدة Toggle VAD

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

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

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

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

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

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

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

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

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

ملحق Silero VAD

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

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

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

  3. قم بتنزيل إضافة ملحق Silero VAD من هنا

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

  5. لـ UE 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 و 5.7)

  • Silero VAD يدعم Unreal Engine 4.27 وجميع إصدارات UE5 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 و 5.7)

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

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

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

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

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

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

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

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

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

الحد الأدنى لمدة الكلام

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

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

مدة الصمت

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

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

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

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

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

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

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

المزايا:

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

الأفضل لـ:

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