वॉइस एक्टिविटी डिटेक्शन
स्ट्रीमिंग साउंड वेव, और इसके डेरिवेटिव टाइप्स जैसे कैप्चर करने योग्य साउंड वेव, वॉइस एक्टिविटी डिटेक्शन (VAD) को सपोर्ट करते हैं। VAD आने वाले ऑडियो डेटा को फिल्टर करता है ताकि इंटरनल बफर केवल तभी भरा जाए जब वॉइस डिटेक्ट की जाती है।
प्लगइन दो VAD इम्प्लीमेंटेशन प्रदान करता है:
- डिफॉल्ट VAD
- Silero VAD
डिफॉल्ट इम्प्लीमेंटेशन libfvad का उपयोग करता है, जो एक हल्का वॉइस एक्टिविटी डिटेक्शन लाइब्रेरी है जो Runtime Audio Importer द्वारा सपोर्ट किए गए सभी प्लेटफॉर्म्स और इंजन वर्जन पर कुशलता से काम करता है।
एक्सटेंशन प्लगइन के रूप में उपलब्ध, Silero VAD एक न्यूरल नेटवर्क-आधारित वॉइस एक्टिविटी डिटेक्टर है जो उच्च सटीकता प्रदान करता है, खासकर शोर वाले वातावरण में। यह मशीन लर्निंग का उपयोग करके स्पीच और बैकग्राउंड नॉइज़ को अधिक विश्वसनीय रूप से अलग करता है।
बेसिक यूसेज
साउंड वेव बनाने के बाद VAD को एनेबल करने के लिए, ToggleVAD
फंक्शन का उपयोग करें:
- ब्लूप्रिंट
- C++
// Assuming StreamingSoundWave is a UE reference to a UStreamingSoundWave object (or its derived type, such as UCapturableSoundWave)
StreamingSoundWave->ToggleVAD(true);
VAD को सक्षम करने के बाद, आप इसे किसी भी समय रीसेट कर सकते हैं:
- Blueprint
- C++
// Reset the VAD
StreamingSoundWave->ResetVAD();
डिफ़ॉल्ट VAD सेटिंग्स
डिफॉल्ट VAD प्रदाता का उपयोग करते समय, आप VAD मोड को बदलकर इसकी आक्रामकता को समायोजित कर सकते हैं:
- Blueprint
- C++
// Set the VAD mode (only works with the default VAD provider)
StreamingSoundWave->SetVADMode(ERuntimeVADMode::VeryAggressive);
पैरामीटर मोड VAD द्वारा ऑडियो को फ़िल्टर करने की तीव्रता को नियंत्रित करता है। उच्च मान अधिक प्रतिबंधात्मक होते हैं, जिसका अर्थ है कि वे झूठी सकारात्मक रिपोर्ट करने क ी संभावना कम रखते हैं लेकिन कुछ भाषण को छोड़ सकते हैं।
VAD प्रदाता
ToggleVAD
फ़ंक्शन के साथ VAD को सक्षम करने के बाद, आप अपनी आवश्यकताओं के अनुसार विभिन्न वॉइस एक्टिविटी डिटेक्शन प्रदाताओं के बीच चयन कर सकते हैं। डिफ़ॉल्ट प्रदाता अंतर्निहित है, जबकि Silero VAD जैसे अतिरिक्त प्रदाता एक्सटेंशन प्लगइन्स के माध्यम से उपलब्ध हैं।
- Blueprint
- C++
// Assuming StreamingSoundWave is a UE reference to a UStreamingSoundWave object (or its derived type, such as UCapturableSoundWave)
// Make sure to call ToggleVAD(true) before setting the provider
// Set the VAD provider to Silero VAD
StreamingSoundWave->SetVADProvider(URuntimeSileroVADProvider::StaticClass());