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

प्लगइन का उपयोग कैसे करें

Runtime Text To Speech प्लगइन डाउनलोड करने योग्य आवाज़ मॉडल का उपयोग करके पाठ को वाक् में संश्लेषित करता है। ये मॉडल संपादक के भीतर प्लगइन सेटिंग्स में प्रबंधित किए जाते हैं, डाउनलोड किए जाते हैं, और रनटाइम उपयोग के लिए पैकेज किए जाते हैं। आरंभ करने के लिए नीचे दिए गए चरणों का पालन करें।

संपादक पक्ष

अपने प्रोजेक्ट के लिए उपयुक्त आवाज़ मॉडल यहाँ वर्णित अनुसार डाउनलोड करें। आप एक ही समय में कई आवाज़ मॉडल डाउनलोड कर सकते हैं।

रनटाइम पक्ष

सिंथेसाइज़र बनाने के लिए CreateRuntimeTextToSpeech फ़ंक्शन का उपयोग करें। सुनिश्चित करें कि आप इसका संदर्भ बनाए रखते हैं (जैसे ब्लूप्रिंट्स में एक अलग वेरिएबल या C++ में UPROPERTY के रूप में) ताकि यह गार्बेज कलेक्ट न हो जाए।

ब्लूप्रिंट्स में एक Runtime Text To Speech सिंथेसाइज़र बनाने का एक उदाहरण

भाषण संश्लेषण

प्लगइन टेक्स्ट-टू-स्पीच संश्लेषण के दो मोड प्रदान करता है:

  1. नियमित टेक्स्ट-टू-स्पीच: पूरे टेक्स्ट को संश्लेषित करता है और पूरा होने पर संपूर्ण ऑडियो लौटाता है
  2. स्ट्रीमिंग टेक्स्ट-टू-स्पीच: जैसे-जैसे ऑडियो चंक्स जनरेट होते हैं, उन्हें प्रदान करता है, जिससे रियल-टाइम प्रोसेसिंग संभव होती है

प्रत्येक मोड वॉइस मॉडल चयन के लिए दो विधियों का समर्थन करता है:

  • नाम से: अपने नाम से एक वॉइस मॉडल चुनें (UE 5.4+ के लिए अनुशंसित)
  • ऑब्जेक्ट द्वारा: सीधे संदर्भ द्वारा एक वॉइस मॉडल चुनें (UE 5.3 और पहले के लिए अनुशंसित)

नियमित टेक्स्ट-टू-स्पीच

नाम से

Text To Speech (By Name) फ़ंक्शन UE 5.4 से शुरू होने वाले ब्लूप्रिंट्स में अधिक सुविधाजनक है। यह आपको डाउनलोड किए गए मॉडलों की ड्रॉपडाउन सूची से वॉइस मॉडल चुनने की अनुमति देता है। UE संस्करण 5.3 से नीचे में, यह ड्रॉपडाउन प्रकट नहीं होता है, इसलिए यदि आप पुराने संस्करण का उपयोग कर रहे हैं, तो आपको आवश्यक वॉइस मॉडल का चयन करने के लिए GetDownloadedVoiceModels द्वारा लौटाए गए वॉइस मॉडल्स की सरणी पर मैन्युअल रूप से पुनरावृति करनी होगी।

ब्लूप्रिंट्स में नाम से टेक्स्ट टू स्पीच का उपयोग करने का एक उदाहरण

ऑब्जेक्ट द्वारा

Text To Speech (By Object) फ़ंक्शन Unreal Engine के सभी संस्करणों में काम करता है लेकिन आवाज़ मॉडल को एसेट संदर्भों की ड्रॉपडाउन सूची के रूप में प्रस्तुत करता है, जो कम सहज है। यह विधि UE 5.3 और पहले के लिए उपयुक्त है, या यदि आपके प्रोजेक्ट को किसी भी कारण से आवाज़ मॉडल एसेट के सीधे संदर्भ की आवश्यकता है।

ब्लूप्रिंट्स में Text To Speech by Object का उपयोग करने का एक उदाहरण

यदि आपने मॉडल डाउनलोड किए हैं लेकिन उन्हें नहीं देख सकते हैं, तो Voice Model ड्रॉपडाउन खोलें, सेटिंग्स (गियर आइकन) पर क्लिक करें, और मॉडल को दृश्यमान बनाने के लिए Show Plugin Content और Show Engine Content दोनों को सक्षम करें।

स्ट्रीमिंग टेक्स्ट-टू-स्पीच

लंबे टेक्स्ट के लिए या जब आप ऑडियो डेटा को रियल-टाइम में प्रोसेस करना चाहते हैं क्योंकि यह जेनरेट हो रहा है, तो आप टेक्स्ट-टू-स्पीच फ़ंक्शंस के स्ट्रीमिंग वर्जन का उपयोग कर सकते हैं:

  • Streaming Text To Speech (By Name) (StreamingTextToSpeechByName in C++)
  • Streaming Text To Speech (By Object) (StreamingTextToSpeechByObject in C++)

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

नाम से स्ट्रीमिंग

Streaming Text To Speech (By Name) फ़ंक्शन नियमित वर्जन की तरह ही काम करता है लेकिन On Speech Chunk डेलिगेट के माध्यम से ऑडियो को चंक्स में प्रदान करता है।

ब्लूप्रिंट्स में नाम से स्ट्रीमिंग टेक्स्ट टू स्पीच का उपयोग करने का एक उदाहरण

ऑब्जेक्ट द्वारा स्ट्रीमिंग

स्ट्रीमिंग टेक्स्ट टू स्पीच (बाय ऑब्जेक्ट) फ़ंक्शन समान स्ट्रीमिंग कार्यक्षमता प्रदान करता है लेकिन एक वॉइस मॉडल ऑब्जेक्ट रेफरेंस लेता है।

ब्लूप्रिंट्स में ऑब्जेक्ट द्वारा स्ट्रीमिंग टेक्स्ट टू स्पीच का उपयोग करने का एक उदाहरण

ऑडियो प्लेबैक

नियमित (नॉन-स्ट्रीमिंग) टेक्स्ट-टू-स्पीच के लिए, On Speech Result डेलिगेट संश्लेषित ऑडियो को PCM डेटा के रूप में फ्लोट फॉर्मेट में प्रदान करता है (ब्लूप्रिंट्स में बाइट ऐरे के रूप में या C++ में TArray<uint8> के रूप में), साथ ही Sample Rate और Num Of Channels भी प्रदान करता है।

प्लेबैक के लिए, कच्चे ऑडियो डेटा को प्लेयेबल साउंड वेव में बदलने के लिए Runtime Audio Importer प्लगइन का उपयोग करने की सिफारिश की जाती है।

यहां एक उदाहरण है कि टेक्स्ट को संश्लेषित करने और ऑडियो चलाने के लिए ब्लूप्रिंट नोड्स कैसे दिख सकते हैं (कॉपी करने योग्य नोड्स):

टेक्स्ट-टू-स्पीच रद्द करना

आप किसी भी समय चल रहे टेक्स्ट-टू-स्पीच सिंथेसिस ऑपरेशन को रद्द कर सकते हैं अपने सिंथेसाइज़र इंस्टेंस पर CancelSpeechSynthesis फ़ंक्शन को कॉल करके:

Cancelling Text To Speech in Blueprints

जब एक संश्लेषण रद्द किया जाता है:

  • संश्लेषण प्रक्रिया जितनी जल्दी हो सके रुक जाएगी
  • कोई भी चल रही कॉलबैक समाप्त कर दी जाएगी
  • पूर्णता प्रतिनिधि को bSuccess = false के साथ और एक त्रुटि संदेश के साथ बुलाया जाएगा जो यह दर्शाता है कि संश्लेषण रद्द कर दिया गया था
  • संश्लेषण के लिए आवंटित किसी भी संसाधन को ठीक से साफ कर दिया जाएगा

यह लंबे पाठों के लिए या जब आपको एक नया संश्लेषण शुरू करने के लिए प्लेबैक को बाधित करने की आवश्यकता होती है, तो विशेष रूप से उपयोगी होता है।

स्पीकर चयन

दोनों Text To Speech फ़ंक्शन एक वैकल्पिक स्पीकर ID पैरामीटर स्वीकार करते हैं, जो तब उपयोगी होता है जब आप ऐसे वॉइस मॉडल के साथ काम कर रहे होते हैं जो कई स्पीकर का समर्थन करते हैं। आप यह जांचने के लिए कि क्या आपके चुने हुए वॉइस मॉडल द्वारा कई स्पीकर समर्थित हैं, GetSpeakerCountFromVoiceModel या GetSpeakerCountFromModelName फ़ंक्शन का उपयोग कर सकते हैं। यदि कई स्पीकर उपलब्ध हैं, तो Text To Speech फ़ंक्शन को कॉल करते समय बस अपना वांछित स्पीकर ID निर्दिष्ट करें। कुछ वॉइस मॉडल व्यापक विविधता प्रदान करते हैं - उदाहरण के लिए, English LibriTTS में 900 से अधिक विभिन्न स्पीकर चुनने के लिए शामिल हैं।

Runtime Audio Importer प्लगइन ऑडियो डेटा को एक फ़ाइल में निर्यात करने, इसे SoundCue, MetaSound, और अधिक में पास करने जैसी अतिरिक्त सुविधाएँ भी प्रदान करता है। अधिक जानकारी के लिए, Runtime Audio Importer दस्तावेज़ीकरण देखें।