paint-brush
pyttsx3 लाइब्रेरी का उपयोग करके एक आवश्यक पायथन टेक्स्ट-टू-स्पीच ट्यूटोरियलद्वारा@mshehzen
37,821 रीडिंग
37,821 रीडिंग

pyttsx3 लाइब्रेरी का उपयोग करके एक आवश्यक पायथन टेक्स्ट-टू-स्पीच ट्यूटोरियल

द्वारा M Shehzen Sidiq5m2023/01/03
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

इस पोस्ट में हम एक पुस्तकालय के बारे में चर्चा करने जा रहे हैं, जिसका मैंने व्यक्तिगत रूप से उपयोग किया है और इसके अच्छे परिणाम मिले हैं। यह एक पायथन लाइब्रेरी है जो हमें टेक्स्ट को स्पीच में बदलने की अनुमति देती है। हम इसे अपना टेक्स्ट प्रदान करेंगे और यह उस टेक्स्ट को ऑडियो में बदल देगा। यह कई टेक्स्ट-टू-स्पीच इंजनों के चारों ओर एक आवरण है।
featured image - pyttsx3 लाइब्रेरी का उपयोग करके एक आवश्यक पायथन टेक्स्ट-टू-स्पीच ट्यूटोरियल
M Shehzen Sidiq HackerNoon profile picture

पहले मैं कुछ संक्षिप्ताक्षरों और कुछ बुनियादी शब्दों के बारे में बताता हूँ जिनका हम इस पोस्ट में उपयोग करने जा रहे हैं।

उन लोगों के लिए जो टीटीएस का मतलब नहीं जानते हैं, इसका मतलब टेक्स्ट टू स्पीच है।


हम जो करना चाहते हैं वह हमारे कार्यक्रम को पाठ का एक टुकड़ा देना है और यह उस पाठ को भाषण में बदल देगा और हमें पढ़ेगा।


दूसरे शब्दों में, यह कंप्यूटर को हमें पढ़ने के लिए मजबूर कर रहा है।


अब इस टीटीएस को करने के कई तरीके हैं, लेकिन यहां हम एक पुस्तकालय पर चर्चा करेंगे, जिसका मैंने व्यक्तिगत रूप से उपयोग किया है और जिसके अच्छे परिणाम मिले हैं।


हम 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 दस्तावेज़ीकरण में प्राप्त कर सकते हैं।

अंतिम शब्द

देखें, टेक्स्ट से या टेक्स्ट वाली फाइल से भी टीटीएस जेनरेट करना कितना आसान है?

हम इन जनरेट किए गए टीटीएस का उपयोग विभिन्न उद्देश्यों के लिए कर सकते हैं और यह आप पर निर्भर है।


मुझे पता है, अब आप इस टीटीएस को आसानी से कर पाएंगे और आप इसका उपयोग करके शानदार प्रोजेक्ट बनाएंगे।


अब, एक काम करें, अगर आपको सामग्री पसंद है और आप जुड़े रहना चाहते हैं, तो मुझे ट्विटर पर फॉलो करें।

पढ़ने के लिए धन्यवाद, सामग्री का आनंद लें।