प्लगइन का उपयोग कैसे करें
रनटाइम स्पीच रिकग्नाइज़र प्लगइन ऑडियो डेटा से शब्दों को पहचानने के लिए डिज़ाइन किया गया है। यह इंजन के साथ काम करने के लिए whisper.cpp के थोड़े संशोधित संस्करण का उपयोग करता है। प्लगइन का उपयोग करने के लिए, इन चरणों का पालन करें:
एडिटर साइड
- अपने प्रोजेक्ट के लिए उपयुक्त भाषा मॉडल का चयन करें जैसा कि यहाँ वर्णित है।
रनटाइम साइड
- एक स्पीच रिकग्नाइज़र बनाएं और आवश्यक पैरामीटर्स सेट करें (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 प्रदाता का उपयोग करते हैं। पहचान सटीकता बढ़ाने के लिए, आप आसानी से सिलेरो VAD पर स्विच कर सकते हैं:
- सिलेरो VAD एक्सटेंशन सेक्शन में बताए अनुसार सिलेरो VAD एक्सटेंशन इंस्टॉल करें
- टॉगल VAD नोड के साथ VAD सक्षम करने के बाद, एक सेट VAD प्रदाता नोड जोड़ें और ड्रॉपडाउन से "सिलेरो" चुनें :::
प्लगइन के साथ शामिल डेमो प्रोजेक्ट में, VAD डिफ़ॉल्ट रूप से सक्षम है। आप डेमो कार्यान्वयन के बारे में अधिक जानकारी डेमो प्रोजेक्ट पर प्राप्त कर सकते हैं।
उदाहरण
ये उदाहरण दिखाते हैं कि कैसे रनटाइम स्पीच रिकग्नाइज़र प्लगइन का उपयोग स्ट्रीमिंग और नॉन-स्ट्रीमिंग ऑडियो इनपुट के साथ किया जा सकता है, उदाहरण के रूप में ऑडियो डेटा प्राप्त करने के लिए रनटाइम ऑडियो इम्पोर्टर का उपयोग करके। कृपया ध्यान दें कि उदाहरणों में दिखाए गए ऑडियो आयात सुविधाओं (जैसे कैप्चर करने योग्य साउंड वेव और ImportAudioFromFile) तक पहुंचने के लिए RuntimeAudioImporter का अलग से डाउनलोड आवश्यक है। ये उदाहरण केवल मूल अवधारणा को दिखाने के लिए हैं और इनमें त्रुटि प्रबंधन शामिल नहीं है।
स्ट्रीमिंग ऑडियो इनपुट उदाहरण
नोट: UE 5.3 और अन्य संस्करणों में, आप ब्लूप्रिंट्स कॉपी करने के बाद गायब नोड्स का सामना कर सकते हैं। यह इंजन संस्करणों के बीच नोड सीरियलाइज़ेशन में अंतर के कारण हो सकता है। हमेशा सुनिश्चित करें कि आपके कार्यान्वयन में सभी नोड्स ठीक से जुड़े हुए हैं।
1. बेसिक स्ट्रीमिंग पहचान
यह उदाहरण माइक्रोफोन से ऑडियो डेटा को स्ट्रीम के रूप में कैप्चर करने और इसे स्पीच रिकग्नाइज़र को पास करने के लिए बेसिक सेटअप प्रदर्शित करता है। यह लगभग 5 सेकंड के लिए भाषण रिकॉर्ड करता है और फिर पहचान को संसाधित करता है, जिससे यह त्वरित परीक्षणों और सरल कार्यान्वयन के लिए उपयुक्त होता है। कॉपी करने योग्य नोड्स.
इस सेटअप की प्रमुख विशेषताएं:
- निश्चित 5-सेकंड रिकॉर्डिंग अवधि
- सरल वन-शॉट पहचान
- न्यूनतम सेटअप आवश्यकताएं
- परीक्षण और प्रोटोटाइपिंग के लिए आदर्श
2. नियंत्रित स्ट्रीमिंग पहचान
यह उदाहरण पहचान प्रक्रिया पर मैनुअल नियंत्रण जोड़कर बेसिक स्ट्रीमिंग सेटअप को विस्तारित करता है। यह आपको इच्छानुसार पहचान शुरू और बंद करने की अनुमति देता है, जिससे यह उन परिदृश्यों के लिए उपयुक्त होता है जहां आपको पहचान के समय पर सटीक नियंत्रण की आवश्यकता होती है। कॉपी करने योग्य नोड्स.
इस सेटअप की प्रमुख विशेषताएँ:
- मैनुअल स्टार्ट/स्टॉप नियंत्रण
- निरंतर पहचान क्षमता
- लचीली रिकॉर्डिंग अवधि
- इंटरैक्टिव एप्लिकेशन के लिए उपयुक्त
3. आवाज-सक्रिय कमांड पहचान
यह उदाहरण कमांड पहचान परिदृश्यों के लिए अनुकूलित है। यह वॉइस एक्टिविटी डिटेक्शन (VAD) के साथ स्ट्रीमिंग पहचान को जोड़ता है ताकि उपयोगकर्ता के बोलना बंद करने पर स्वचालित रूप से भाषण को प्रोसेस किया जा सके। रिकॉग्नाइज़र केवल चुप्पी का पता चलने पर संचित भाषण को प्रोसेस करना शुरू करता है, जो इसे कमांड-आधारित इंटरफेस के लिए आदर्श बनाता है। कॉपी करने योग्य नोड्स.
इस सेटअप की प्रमुख विशेषताएँ:
- मैनुअल स्टार्ट/स्टॉप नियंत्रण
- भाषण खंडों का पता लगाने के लिए वॉइस एक्टिविटी डिटेक्शन (VAD) सक्षम
- चुप्पी का पता चलने पर स्वचालित पहचान ट्रिगरिंग
- छोटी कमांड पहचान के लिए आदर्श
- केवल वास्तविक भाषण को पहचानकर प्रोसेसिंग ओवरहेड कम किया गया
4. अंतिम बफर प्रोसेसिंग के साथ स्वतः-आरंभिक आवाज पहचान
यह उदाहरण आवाज-सक्रिय पहचान दृष्टिकोण का एक और रूपांतर है जिसमें जीवनचक्र प्रबंधन अलग है। यह आरंभीकरण के दौरान रिकॉग्नाइज़र को स्वचालित रूप से शुरू करता है और डी-इनिशियलाइज़ेशन के दौरान इसे रोक देता है। एक प्रमुख विशेषता यह है कि यह रिकॉग्नाइज़र को रोकने से पहले अंतिम संचित ऑडियो बफर को प्रोसेस करता है, यह सुनिश्चित करते हुए कि उपयोगकर्ता द्वारा पहचान प्रक्रिया को समाप्त करने पर कोई भाषण डेटा खोया नहीं जाता है। यह सेटअप उन अनुप्रयोगों के लिए विशेष रूप से उपयोगी है जहां आपको उपयोगकर्ता के पूर्ण उच्चारण को कैप्चर करने की आवश्यकता होती है, भले ही वह मध्य-भाषण में रुक जाए। कॉपी करने योग्य नोड्स.
इस सेटअप की प्रमुख विशेषताएँ:
- आरंभीकरण पर रिकॉग्नाइज़र को स्वतः शुरू करता है
- डी-इनिशियलाइज़ेशन पर रिकॉग्नाइज़र को स्वतः रोकता है
- पूरी तरह से रोकने से पहले अंतिम ऑडियो बफर को प्रोसेस करता है
- कुशल पहचान के लिए वॉइस एक्टिविटी डिटेक्शन (VAD) का उपयोग करता है
- रोकते समय कोई भाषण डेटा नहीं खोने की गारंटी देता है