पहले मैं कुछ संक्षिप्ताक्षरों और कुछ बुनियादी शब्दों के बारे में बताता हूँ जिनका हम इस पोस्ट में उपयोग करने जा रहे हैं।
उन लोगों के लिए जो टीटीएस का मतलब नहीं जानते हैं, इसका मतलब टेक्स्ट टू स्पीच है।
हम जो करना चाहते हैं वह हमारे कार्यक्रम को पाठ का एक टुकड़ा देना है और यह उस पाठ को भाषण में बदल देगा और हमें पढ़ेगा।
दूसरे शब्दों में, यह कंप्यूटर को हमें पढ़ने के लिए मजबूर कर रहा है।
अब इस टीटीएस को करने के कई तरीके हैं, लेकिन यहां हम एक पुस्तकालय पर चर्चा करेंगे, जिसका मैंने व्यक्तिगत रूप से उपयोग किया है और जिसके अच्छे परिणाम मिले हैं।
हम pyttsx3
का उपयोग करने जा रहे हैं।
pyttsx3
क्या हैpyttsx3 एक पायथन लाइब्रेरी है जो हमें टेक्स्ट को स्पीच में बदलने की अनुमति देती है। तो हम इसे अपना टेक्स्ट प्रदान करेंगे और यह उस टेक्स्ट को ऑडियो में बदल देगा।
यह Microsoft के टेक्स्ट-टू-स्पीच (TTS) इंजन सहित कई टेक्स्ट-टू-स्पीच इंजनों के चारों ओर एक आवरण है।
अब देखते हैं कि हम टीटीएस के लिए इस पुस्तकालय का उपयोग कैसे करते हैं।
पहली और सबसे महत्वपूर्ण चीज जो हमें करने की ज़रूरत है वह है इस लाइब्रेरी को स्थापित करना और हम pip
का उपयोग करके ऐसा कर सकते हैं, जो कि अजगर स्थापना के साथ आता है।
इस इंस्टॉलेशन के लिए सिंटैक्स सभी pip installs
के समान है।
pip install pyttsx3
यदि यह इंस्टॉल आपको एक त्रुटि देता है cmd not found
, तो pip
के बजाय pip3
का उपयोग करने का प्रयास करें:
pip3 install pyttsx3
स्थापित करने के बाद, आइए देखें कि यह सफलतापूर्वक स्थापित किया गया था या नहीं, इस आदेश को चलाकर:
pip3 freeze
यह हमारे env में स्थापित सभी संकुलों की सूची लौटाएगा। यदि आप इस सूची में pyttsx3
पाते हैं, तो हमने सफलतापूर्वक pyttsx3
स्थापित किया है और हम इसे अपने प्रोजेक्ट में उपयोग करने के लिए तैयार हैं।
स्थापना पूर्ण होने के बाद, हमें इस लाइब्रेरी को अपनी परियोजना में आयात करने की आवश्यकता है, और फिर हमें टेक्स्ट-टू-स्पीच इंजन को इनिशियलाइज़ करना होगा। यह इंजन सबसे महत्वपूर्ण हिस्सा है, और यही इंजन हमारे लिए TTS का प्रदर्शन करेगा।
Importing pyttsx3 and initializing the text-to-speech engine:
import pyttsx3
engine = pyttsx3.init()
.init()
वह तरीका है जिसे इंजन को इनिशियलाइज़ करने के लिए कॉल करने की आवश्यकता होती है।
अब, जैसा कि हमारे इंजन को इनिशियलाइज़ किया गया है, हम इसे अपने टीटीएस के लिए Say say(text)
मेथड को कॉल करके उपयोग कर सकते हैं।
engine.say(text)
engine.runAndWait()
बोले गए पाठ की यह गति और मात्रा डिफ़ॉल्ट होगी और हम उन्हें निम्न तरीकों से बदल सकते हैं।
हमें केवल अपने इंजन के लिए कुछ मान निर्धारित करने की आवश्यकता है। यह इंजन को यह बताने जैसा है कि क्या उपयोग करना है।
तो, हमें इसे निम्नलिखित तरीके से करना होगा:
getProperty(name)
का उपयोग करके प्राप्त करेंगेsetProperty(name, value)
का उपयोग करके सेट करेंगे
हम गति निर्धारित करेंगे और इंजन का आयतन भी।
भाषण की दर और मात्रा निर्धारित करना:
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-100)
डिफ़ॉल्ट रूप से, दर 200 है, इसलिए हम इसे घटाकर 100 कर देंगे। rate
बोलने की दर है, और 200 हमारे लिए उच्च है। इसलिए हमने इसे नीचे कर दिया।
दर बस है, जिस गति से वक्ता पारित पाठ बोलेगा।
रेट सेट करने के बाद, हम पहले वॉल्यूम प्रॉपर्टी प्राप्त करके और फिर इसे सेट करके वॉल्यूम को बदल देंगे या सेट कर देंगे।
volume = engine.getProperty('volume')
engine.setProperty('volume', volume+0.50)
डिफ़ॉल्ट वॉल्यूम 1 यानी 100% है, हम वॉल्यूम प्रॉपर्टी को पढ़ने से प्राप्त मूल्य में .50 जोड़कर इसे 150% तक बढ़ा देंगे।
अब हम इन दो गुणों को सेट कर रहे हैं, हम कॉल करेंगे say()
और भाषण अब हमारे पैरामीटर यानी 1x
गति और 1.50
मात्रा में होगा।
engine.say("Hello, This is the test for the pyttsx3")
engine.runAndWait()
अब यह runAndWait
हमारे लिए महत्वपूर्ण है। हम इस इंजन को चलाना चाहते हैं, और तब तक चलते रहना चाहते हैं जब तक कि यह पारित पाठ के टीटीएस को पूरा नहीं कर लेता।
वॉल्यूम बदलने के अलावा, हम बोली जाने वाली आवाज को भी बदल सकते हैं। अब यहां 2 आवाजें हैं। एक महिला आवाज के लिए है और एक पुरुष आवाज के लिए है।
हम अपनी संपत्ति को सेट करने के लिए उसी सिंटैक्स का उपयोग करेंगे जैसा हमने पहले किया था।
ध्यान रखें:
voices[0]
पुरुष आवाज के लिए है।voices[1]
महिला आवाज के लिए है।
आइए आवाज बदलें:
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
हमें चयनित आवाज की id
संपत्ति को कॉल करने की आवश्यकता होगी और फिर हम पूरी तरह तैयार हैं।
हम ऊपरी कोड को कॉपी कर सकते हैं और इस बार आवाज डिफ़ॉल्ट पुरुष के बजाय महिला होगी।
मापदंडों की सेटिंग और टीटीएस का परीक्षण करने के बाद, अब हम उत्पन्न टीटीएस की ऑडियो फाइल को सहेज सकते हैं।
कॉल करने के बजाय .say()
हम कॉल करेंगे, इस बार, .save_to_file
और टेक्स्ट पास करें और आउट फ़ाइल का नाम भी दें, जिसमें हम चाहते हैं कि हमारा टीटीएस ऑडियो सहेजा जाए।
इस बार, यह टेक्स्ट को ज़ोर से नहीं पढ़ेगा, बल्कि उसे फ़ाइल में सेव करेगा, जिसका नाम हमने पास किया था।
engine.save_to_file("Hello, this is test for pyttsx3.", "test.mp3")
engine.runAndWait()
इसे चलाने के बाद, हमारे पास उत्पन्न TTS के साथ test.mp3
नाम की एक फ़ाइल होगी।
इसके अलावा, उस pyttsx3 में कई अन्य विधियाँ और गुण हैं जिनका उपयोग आप टेक्स्ट-टू-स्पीच आउटपुट को अनुकूलित करने के लिए कर सकते हैं, जैसे कि पिच, भाषा आदि सेट करना। आप इनके बारे में अधिक जानकारी pyttsx3 दस्तावेज़ीकरण में प्राप्त कर सकते हैं।
देखें, टेक्स्ट से या टेक्स्ट वाली फाइल से भी टीटीएस जेनरेट करना कितना आसान है?
हम इन जनरेट किए गए टीटीएस का उपयोग विभिन्न उद्देश्यों के लिए कर सकते हैं और यह आप पर निर्भर है।
मुझे पता है, अब आप इस टीटीएस को आसानी से कर पाएंगे और आप इसका उपयोग करके शानदार प्रोजेक्ट बनाएंगे।
अब, एक काम करें, अगर आपको सामग्री पसंद है और आप जुड़े रहना चाहते हैं, तो मुझे ट्विटर पर फॉलो करें।
पढ़ने के लिए धन्यवाद, सामग्री का आनंद लें।