प्लगइन का उपयोग कैसे करें
Runtime Speech Recognizer प्लगइन ऑडियो डेटा से शब्दों को पहचानने के लिए डिज़ाइन किया गया है। यह इंजन के साथ काम करने के लिए whisper.cpp के थोड़े संशोधित संस्करण का उपयोग करता है। प्लगइन का उपयोग कर ने के लिए, इन चरणों का पालन करें:
एडिटर साइड
- अपने प्रोजेक्ट के लिए उपयुक्त भाषा मॉडल का चयन करें जैसा कि यहाँ वर्णित है।
रनटाइम साइड
- एक Speech Recognizer बनाएं और आवश्यक पैरामीटर्स सेट करें (CreateSpeechRecognizer, पैरामीटर्स के लिए यहाँ देखें)।
- आवश्यक डेलीगेट्स से बाइंड करें (OnRecognitionFinished, OnRecognizedTextSegment और OnRecognitionError)।
- स्पीच रिकग्निशन शुरू करें (StartSpeechRecognition)।
- ऑडियो डेटा को प्रोसेस करें और डेलीगेट्स से परिणामों की प्रतीक्षा करें (ProcessAudioData)।
- आवश्यकता पड़ने पर स्पीच रिकग्नाइज़ र को रोकें (उदाहरण के लिए, OnRecognitionFinished ब्रॉडकास्ट के बाद)।
प्लगइन फ्लोटिंग पॉइंट 32-बिट इंटरलीव्ड PCM फॉर्मेट में आने वाले ऑडियो को सपोर्ट करता है। जबकि यह Runtime Audio Importer के साथ अच्छी तरह से काम करता है, यह सीधे इस पर निर्भर नहीं करता है।
रिकग्निशन पैरामीटर्स
प्लगइन स्ट्रीमिंग और नॉन-स्ट्रीमिंग दोनों प्रकार के ऑडियो डेटा रिकग्निशन को सपोर्ट करता है। अपने विशिष्ट उपयोग के मामले के लिए रिकग्निशन पैरामीटर्स को एडजस्ट करने के लिए, SetStreamingDefaults
या SetNonStreamingDefaults
को कॉल करें। इसके अतिरिक्त, आपके पास व्यक्तिगत पैरामीटर्स जैसे थ्रेड्स की संख्या, स्टेप साइज़, क्या आने वाली भाषा को अंग्रेजी में ट्रांसलेट करना है, और क्या पिछले ट्रांसक्रिप्शन का उपयोग करना है, को मैन्युअली सेट करने की लचीलापन है। उपलब्ध पैरामीटर्स की पूरी सूची के लिए Recognition Parameter List देखें।
परफॉरमेंस सुधारना
प्लगइन की परफॉरमेंस को ऑप्टिमाइज़ करने के टिप्स के लिए कृपया How to improve performance सेक्शन देखें।
वॉइस एक्टिविटी डिटेक्शन (VAD)
ऑडियो इनपुट को प्रोसेस करते समय, विशेष रूप से स्ट्रीमिंग परिदृश्यों में, वॉइस एक्टिविटी डिटेक्शन (VAD) का उपयोग करन े की सिफारिश की जाती है ताकि खाली या केवल शोर वाले ऑडियो सेगमेंट्स को रिकग्नाइज़र तक पहुँचने से पहले फ़िल्टर किया जा सके। यह फ़िल्टरिंग Runtime Audio Importer प्लगइन का उपयोग करके कैप्चर करने योग्य साउंड वेव साइड पर सक्षम की जा सकती है, जो भाषा मॉडल्स को हॉलुसिनेट करने से रोकने में मदद करती है - शोर में पैटर्न ढूंढने और गलत ट्रांसक्रिप्शन उत्पन्न करने का प्रयास करने से।
इष्टतम स्पीच रिकग्निशन परिणामों के लिए, हम Silero VAD प्रोवाइडर का उपयोग करने की सिफारिश करते हैं जो बेहतर शोर सहनशीलता और अधिक सटीक स्पीच डिटेक्शन प्रदान करता है। Silero VAD, Runtime Audio Importer प्लगइन के एक्सटेंशन के रूप में उपलब्ध है। VAD कॉन्फिगरेशन के विस्तृत निर्देशों के लिए, Voice Activity Detection documentation देखें।
नीचे दिए गए उदाहरणों में कॉपी करने योग्य नोड्स संगतता कारणों से डिफ़ॉल्ट VAD प्रोवाइडर का उपयोग करते हैं। रिकग्निशन सटीकता को बढ़ाने के लिए, आप आसानी से Silero VAD पर स्विच कर सकते हैं:
- Silero VAD Extension section में वर्णित अनुसार Silero VAD एक्सटेंशन इंस्टॉल करें
- Toggle VAD नोड के साथ VAD को सक्षम करने के बाद, एक Set VAD Provider नोड जोड़ें और ड्रॉपडाउन से "Silero" चुनें
प्लगइन के साथ शामिल डेमो प्रोजेक्ट में, VAD डिफ़ॉल्ट रूप से सक्षम है। आप Demo Project पर डेमो इम्प्लीमेंटेशन के बारे में अधिक जानकारी प्राप्त कर सकते हैं।
उदाहरण
ये उदाहरण दिखाते हैं कि कैसे Runtime Speech Recognizer प्लगइन का उपयोग स्ट्रीमिंग और नॉन-स्ट्रीमिंग दोनों प्रकार के ऑडियो इनपुट के साथ किया जा सकता है, उदाहरण के रूप में ऑडियो डेटा प्राप्त करने के लिए Runtime Audio Importer का उपयोग करके। कृपया ध्यान दें कि उदाहरणों में दिखाए गए ऑडियो इम्पोर्टिंग फीचर्स (जैसे कैप्चर करने योग्य साउंड वेव और ImportAudioFromFile) तक पहुँचने के लिए RuntimeAudioImporter को अलग से डाउनलोड करना आवश्यक है। ये उदाहरण केवल मूल अवधारणा को दिखाने के लिए हैं और इसमें एरर हैंडलिंग शामिल नहीं है।
स्ट्रीमिंग ऑडियो इनपुट उदाहरण
नोट: UE 5.3 और अन्य संस्करणों में, आप ब्लूप्रिंट्स को कॉपी करने के बाद गायब नोड्स का सामना कर सकते हैं। यह इंजन संस्करणों के बीच नोड सीरियलाइज़ेशन में अंतर के कारण हो सकता है। हमेशा सुनिश्चित करें कि आपके इम्प्लीमेंटेशन में सभी नोड्स ठीक से कनेक्टेड हैं।
1. बेसिक स्ट्रीमिंग रिकग्निशन
यह उदाहरण माइक्रोफोन से ऑडियो डेटा को स्ट्रीम के रूप में कैप्चर करने और इसे स्पीच रिकग्नाइज़र को पास करने के लिए बेसिक सेटअप को दिखाता है। यह लगभग 5 सेकंड के लिए स् पीच को रिकॉर्ड करता है और फिर रिकग्निशन को प्रोसेस करता है, जिससे यह क्विक टेस्ट और सरल इम्प्लीमेंटेशन के लिए उपयुक्त होता है। कॉपी करने योग्य नोड्स।
इस सेटअप की मुख्य विशेषताएँ:
- फिक्स्ड 5-सेकंड रिकॉर्डिंग अवधि
- सिंपल वन-शॉट रिकग्निशन
- न्यूनतम सेटअप आवश्यकताएँ
- टेस्टिंग और प्रोटोटाइपिंग के लिए आदर्श
2. कंट्रोल्ड स्ट्रीमिंग रिकग्निशन
यह उदाहरण बेसिक स्ट्रीमिंग सेटअप को मैन्युअल कंट्रोल जोड़कर विस्तारित करता है। यह आपको रिकग्निशन प्रोसेस को इच्छानुसार शुरू और रोकने की अनुमति देता है, जिससे यह उन परिदृश्यों के लिए उपयुक्त होता है जहाँ आपको रिकग्निशन के समय पर सटीक नियंत्रण की आवश्यकता होती है। कॉपी करने योग्य नोड्स।
इस सेटअप की मुख्य विशेषताएँ:
- मैन्युअल स्टार्ट/स्टॉप कंट्रोल
- कंटीन्यूअस रिकग्निशन क्षमता
- लचीली रिकॉर्डिंग अवधि
- इंटरएक्टिव एप्लिकेशन्स के लिए उपयुक्त
3. वॉइस-एक्टिवेटेड कमांड रिकग्निशन
यह उदाहरण कमांड रिकग्निशन परिदृश्यों के लिए ऑप्टिमाइज़ किया गया है। यह स्ट्रीमिंग रिकग्निशन को वॉइस एक्टिविटी डिटेक्शन (VAD) के साथ जोड़ता है ताकि उपयोगकर्ता के बोलना बंद करने पर स्वचालित रूप से स्पीच को प्रोसेस किया जा सके। रिकग्नाइज़र केवल साइलेंस डिटेक्ट होने पर संचित स्पीच को प्रोसेस करना शुरू करता है, जिससे यह कमांड-आधारित इंटरफेस के लिए आदर्श होता है। कॉपी करने योग्य नोड्स।
इस सेटअप की मुख्य विशेषताएँ:
- मैन्युअल स्टार्ट/स्टॉप कंट्रोल
- स्पीच सेगमेंट्स का पता लगाने के लिए वॉइस एक्टिविटी डिटेक्शन (VAD) सक्षम
- साइलेंस डिटेक्ट होने पर स्वचालित रिकग्निशन ट्रिगरिंग
- छोटे कमांड रिकग्निशन के लिए इष्टतम
- केवल वास्तविक स्पीच को पहचानकर प्रोसेसिंग ओवरहेड कम
4. फाइनल बफर प्रोसेसिंग के साथ ऑटो-इनिशियलाइज़िंग वॉइस रिकग्निशन
यह उदाहरण वॉइस-एक्टिवेटेड रिकग्निशन दृष्टिकोण का एक और विविधता है जिसमें अलग लाइफसाइकल हैंडलिंग है। यह इनिशियलाइज़ेशन के दौरान रिकग्नाइज़र को स्वचालित रूप से शुरू करता है और डीइनिशियलाइज़ेशन के दौरान इसे रोकता है। एक प्रमुख विशेषता यह है कि यह रिकग्नाइज़र को रोकने से पहले अंतिम संचित ऑडियो बफर को प्रोसेस करता है, यह सुनिश्चित करते हुए कि जब उपयोगकर्ता रिकग्निशन प्रोसेस को समाप्त करना च ाहता है तो कोई स्पीच डेटा खोया नहीं जाता है। यह सेटअप उन एप्लिकेशन्स के लिए विशेष रूप से उपयोगी है जहाँ आपको उपयोगकर्ता के पूर्ण उच्चारण को कैप्चर करने की आवश्यकता होती है, भले ही वे मिड-स्पीच में रोक दें। कॉपी करने योग्य नोड्स।
इस सेटअप की मुख्य विशेषताएँ:
- इनिशियलाइज़ेशन पर रिकग्नाइज़र को स्वचालित रूप से शुरू करता है
- डीइनिशियलाइज़ेशन पर रिकग्नाइज़र को स्वचालित रूप से रोकता है
- पूरी तरह से रोकने से पहले अंतिम ऑडियो बफर को प्रोसेस करता है
- कुशल रिकग्निशन के लिए वॉइस एक्टिविटी डिटेक्शन (VAD) का उपयोग करता है
- रोकते समय किसी भी स्पीच डेटा के खोने को सुनिश्चित करता है
नॉन-स्ट्रीमिंग ऑडियो इनपुट
यह उदाहरण ऑडियो डेटा को Imported sound wave में इम्पोर्ट करता है और एक बार इम्पोर्ट हो जाने पर पूरे ऑडियो डेटा को पहचानता है। कॉपी करने योग्य नोड्स।