मुख्य कंटेंट तक स्किप करें

वॉइस एक्टिविटी डिटेक्शन

स्ट्रीमिंग साउंड वेव, साथ ही इसके व्युत्पन्न प्रकार जैसे कैप्चर करने योग्य साउंड वेव, वॉइस एक्टिविटी डिटेक्शन (VAD) का समर्थन करते हैं। VAD आने वाले ऑडियो डेटा को फ़िल्टर करता है ताकि आंतरिक बफ़र केवल तभी भरा जाए जब आवाज़ का पता चले।

यह प्लगइन दो VAD कार्यान्वयन प्रदान करता है:

डिफ़ॉल्ट कार्यान्वयन libfvad का उपयोग करता है, जो एक हल्का वॉइस एक्टिविटी डिटेक्शन लाइब्रेरी है जो Runtime Audio Importer द्वारा समर्थित सभी प्लेटफ़ॉर्म और इंजन संस्करणों पर कुशलतापूर्वक काम करती है।

बेसिक उपयोग

एक साउंड वेव बनाने के बाद VAD को सक्षम करने के लिए, ToggleVAD फ़ंक्शन का उपयोग करें:

Toggle VAD node

VAD को सक्षम करने के बाद, आप इसे किसी भी समय रीसेट कर सकते हैं:

VAD नोड रीसेट करें

डिफ़ॉल्ट VAD सेटिंग्स

डिफ़ॉल्ट VAD प्रदाता का उपयोग करते समय, आप VAD मोड बदलकर इसकी आक्रामकता समायोजित कर सकते हैं:

Set VAD Mode node

मोड पैरामीटर नियंत्रित करता है कि VAD ऑडियो को कितनी आक्रामकता से फ़िल्टर करता है। उच्च मान अधिक प्रतिबंधात्मक होते हैं, जिसका अर्थ है कि उनके गलत सकारात्मक (false positives) रिपोर्ट करने की संभावना कम होती है लेकिन वे कुछ वाक् (speech) को छोड़ सकते हैं।

VAD प्रदाता (VAD Providers)

ToggleVAD फ़ंक्शन के साथ VAD सक्षम करने के बाद, आप अपनी आवश्यकताओं के अनुरूप विभिन्न वॉइस एक्टिविटी डिटेक्शन (Voice Activity Detection) प्रदाताओं के बीच चयन कर सकते हैं। डिफ़ॉल्ट प्रदाता अंतर्निहित (built-in) है, जबकि अतिरिक्त प्रदाता जैसे कि Silero VAD एक्सटेंशन प्लगइन्स के माध्यम से उपलब्ध हैं।

Set VAD Provider node

Silero VAD एक्सटेंशन

Silero VAD न्यूरल नेटवर्क का उपयोग करके अधिक सटीक वाक् पहचान प्रदान करता है। इसका उपयोग करने के लिए:

  1. सुनिश्चित करें कि Runtime Audio Importer प्लगइन आपकी परियोजना में पहले से ही स्थापित है

  2. UE 5.5 और पहले के लिए: Silero VAD एक्सटेंशन प्लगइन डाउनलोड करने से पहले, सुनिश्चित करें कि NNERuntimeORT आपकी परियोजना में अक्षम है। NNERuntimeORT सक्षम होने से इन इंजन संस्करणों पर Silero VAD का उपयोग करते समय संघर्षों के कारण क्रैश हो सकते हैं

  3. Silero VAD एक्सटेंशन प्लगइन को Google Drive से डाउनलोड करें

  4. डाउनलोड किए गए आर्काइव से फ़ोल्डर को अपनी परियोजना के Plugins फ़ोल्डर में निकालें (यदि यह फ़ोल्डर मौजूद नहीं है तो इसे बनाएं)

  5. UE 5.6 और बाद के लिए: NNERuntimeORT निर्भरता जोड़ने के लिए RuntimeAudioImporterSileroVAD.uplugin फ़ाइल संपादित करें। "Plugins" फ़ील्ड में, RuntimeAudioImporter समावेशन के बाद, जोड़ें:

   ,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. अपने प्रोजेक्ट को रीबिल्ड करें (इस एक्सटेंशन के लिए एक C++ प्रोजेक्ट की आवश्यकता होती है)
important
  • डिफ़ॉल्ट VAD, रनटाइम ऑडियो इम्पोर्टर द्वारा समर्थित सभी इंजन संस्करणों के साथ काम करता है (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 और पहले के: प्लगइन संघर्षों के कारण होने वाली क्रैश को रोकने के लिए Silero VAD का उपयोग करने से पहले NNERuntimeORT को अक्षम करना होगा

  • UE 5.6+ आवश्यकता: Unreal Engine 5.6 से शुरू होकर, Silero VAD एक्सटेंशन के लिए NNERuntimeORT प्लगइन निर्भरता को .uplugin फ़ाइल में मैन्युअल रूप से जोड़ना आवश्यक है

  • Silero VAD Windows, Linux, Mac, Android (Meta Quest सहित), और iOS के लिए उपलब्ध है

  • यह एक्सटेंशन स्रोत कोड के रूप में प्रदान किया जाता है और उपयोग करने के लिए एक C++ प्रोजेक्ट की आवश्यकता होती है

  • प्लगइन्स को मैन्युअल रूप से बनाने के तरीके के बारे में अधिक जानकारी के लिए, Building Plugins tutorial देखें

एक बार इंस्टॉल हो जाने के बाद, आप Silero क्लास प्रोवाइडर के साथ SetVADProvider फ़ंक्शन का उपयोग करके इसे अपने VAD प्रोवाइडर के रूप में चुन सकते हैं।

स्पीच स्टार्ट और एंड डिटेक्शन

वॉयस एक्टिविटी डिटेक्शन न केवल स्पीच की उपस्थिति का पता लगाता है, बल्कि यह स्पीच एक्टिविटी के शुरू और खत्म होने का पता लगाने की भी अनुमति देता है। यह प्लेबैक या कैप्चर के दौरान स्पीच शुरू या खत्म होने पर इवेंट्स को ट्रिगर करने के लिए उपयोगी है।

आप न्यूनतम स्पीच अवधि और साइलेंस अवधि जैसे पैरामीटर्स को एडजस्ट करके स्पीच स्टार्ट और एंड डिटेक्शन की संवेदनशीलता को कस्टमाइज़ कर सकते हैं। ये पैरामीटर्स फ़ॉल्स पॉजिटिव्स, जैसे छोटे शोर या स्पीच के बीच बहुत छोटे पॉज को पकड़ने से बचने के लिए डिटेक्शन को फाइन-ट्यून करने में मदद करते हैं।

न्यूनतम स्पीच अवधि

न्यूनतम स्पीच अवधि पैरामीटर स्पीच स्टार्ट इवेंट को ट्रिगर करने के लिए आवश्यक निरंतर वॉयस एक्टिविटी की न्यूनतम मात्रा सेट करता है। यह उन संक्षिप्त शोरों को फ़िल्टर करने में मदद करता है जिन्हें स्पीच नहीं माना जाना चाहिए, यह सुनिश्चित करने के लिए कि केवल निरंतर वॉयस एक्टिविटी को ही पहचाना जाए। न्यूनतम स्पीच अवधि के लिए डिफ़ॉल्ट मान 300 मिलीसेकंड है।

Set Minimum Speech Duration node

शांति अवधि

शांति अवधि पैरामीटर वह अवधि सेट करता है जो एक भाषण समाप्ति घटना को ट्रिगर करने के लिए आवश्यक शांति की है। यह शब्दों या वाक्यों के बीच प्राकृतिक विराम के दौरान भाषण पहचान के समय से पहले समाप्त होने से रोकता है। शांति अवधि के लिए डिफ़ॉल्ट मान 500 मिलीसेकंड है।

Set Silence Duration node

भाषण प्रतिनिधियों से बाइंड करना

आप विशिष्ट प्रतिनिधियों से बाइंड कर सकते हैं जब भाषण शुरू होता है या समाप्त होता है। यह भाषण गतिविधि के आधार पर कस्टम व्यवहार को ट्रिगर करने के लिए उपयोगी है, जैसे कि टेक्स्ट मान्यता शुरू करना या रोकना, या अन्य ऑडियो स्रोतों की वॉल्यूम को समायोजित करना।

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

VAD प्रदाताओं की तुलना

डिफ़ॉल्ट VAD (libfvad)

लाभ:

  • हल्का और कुशल
  • सभी प्लेटफ़ॉर्म पर काम करता है
  • न्यूनतम संसाधन उपयोग
  • मोबाइल और कम शक्ति वाले उपकरणों के लिए उपयुक्त

सर्वोत्तम उपयोग:

  • शांत वातावरण में सरल आवाज पहचान
  • मोबाइल एप्लिकेशन
  • ऐसे प्रोजेक्ट जहां प्रदर्शन प्राथमिकता है
  • जब सार्वभौमिक प्लेटफ़ॉर्म समर्थन आवश्यक है