- आवश्यक घटक
- सर्किट आरेख
- स्पीकर को Arduino से जोड़ना
- TTS के लिए Arduino प्रोग्रामिंग (भाषण के लिए पाठ)
टेक्स्ट-टू-स्पीच या टीटीएस सिस्टम सामान्य टेक्स्ट को स्पीच में परिवर्तित करता है। यह तकनीक मानव आवाज में पाठ को बोलने के लिए सिस्टम को सक्षम बनाती है। टेक्स्ट टू स्पीच रूपांतरणों के कई उदाहरण हैं जैसे सार्वजनिक परिवहन में घोषणाएं, ग्राहक देखभाल कॉल, आपके स्मार्टफ़ोन में वॉइस असिस्टेंट या किसी भी मशीन का नेविगेशन मेनू। आप Microsoft Word में TTS भी ढूँढ सकते हैं जहाँ आप इसे दस्तावेज़ में लिखे गए पाठ को बोलने के लिए सेट करते हैं।
आज इस ट्यूटोरियल में, हम सीखेंगे कि Arduino का उपयोग करके टेक्स्ट टू स्पीच कन्वर्टर कैसे बनाया जाए । हमने पहले अलार्म घड़ी बोलने में रास्पबेरी पाई के साथ टीटीएस का उपयोग किया और Google वॉइस कीबोर्ड का उपयोग करके रास्पबेरी पाई में भाषण को पाठ में परिवर्तित किया।
टीटीएस में पहला कदम पूर्व प्रसंस्करण या सामान्य है । इस कदम में प्रतीकों, संख्याओं और संक्षिप्तीकरण को उन शब्दों में बदलना शामिल है जिन्हें 'जैसे मशीनों द्वारा पढ़ा जा सकता है?' "प्रश्न चिह्न" में परिवर्तित हो जाएगा।
दूसरे चरण के लिए स्वनिम या ध्वन्यात्मक टेप में सामान्यीकृत पाठ के रूपांतरण शामिल है । स्वर-समूह, बोले जाने वाले शब्दों के छोटे भाग होते हैं यानी ये वे ध्वनियाँ होती हैं जो वाक्य बनाती हैं। यह कदम वास्तव में आवश्यक है ताकि मशीन उन शब्दों को बोल सके जो मनुष्य करते हैं।
अंतिम चरण बोली जाने वाली आवाज में स्वनिम के संश्लेषण है । यह कदम अलग-अलग तरीकों से प्राप्त किया जा सकता है, जैसे मानव आवाज को विभिन्न शब्दों / वाक्यांशों के लिए रिकॉर्ड करके या बुनियादी ध्वनि आवृत्तियों को उत्पन्न करके उन्हें ध्वनि के रूप में या मानव बोलने वाले तंत्र की नकल करके।
आवश्यक घटक
- Arduino बोर्ड
- वक्ता
- एक एम्पलीफायर सर्किट
- विनियमित बिजली की आपूर्ति
- तारों को जोड़ना
सर्किट आरेख
यहाँ इस टेक्स्ट टू स्पीच कन्वर्टर में, हमने शोर कम करने और स्पष्ट ध्वनि प्राप्त करने के लिए एम्पलीफायर सर्किट का उपयोग किया है। एम्पलीफायर सर्किट आईसी LM386 का उपयोग करके किया जाता है । इसके लिए सर्किट आरेख नीचे दिखाया गया है:
ध्वनि को समायोजित करने के लिए एक 100K पॉट का उपयोग किया जाता है। स्पष्ट ध्वनि प्राप्त करने के लिए इसे समायोजित करें। अगर आपको इस सर्किट के बारे में कोई भ्रम है तो LM386 बेस्ड ऑडियो एम्पलीफायर सर्किट देखें । यदि आपके पास प्रतिरोधों और कैपेसिटर का सटीक मूल्य नहीं है, तो करीब मूल्य वाले का उपयोग करें।
स्पीकर को Arduino से जोड़ना
एम्पलीफायर सर्किट बनाने के बाद कनेक्शन सुपर आसान होते हैं।
एम्पलीफायर सर्किट को बिजली की आपूर्ति से कनेक्ट करें और अपने Arduino के डिजिटल पिन 3 को 10K अवरोधक से कनेक्ट करें और Arduino की जमीन को सर्किट के ग्राउंड से कनेक्ट करें। अब स्पीकर को इसके नेगेटिव टर्मिनल को ग्राउंड और पॉजिटिव टर्मिनल को 220 capacF कैपेसिटर से कनेक्ट करके पावर सप्लाई कनेक्ट करें।
TTS के लिए Arduino प्रोग्रामिंग (भाषण के लिए पाठ)
इस Arduino आधारित TTS का कार्यक्रम भी बहुत आसान है क्योंकि इसके लिए पुस्तकालय उपलब्ध है। इस लाइब्रेरी को टॉकी कहा जाता है और इसे लाइब्रेरी मैनेजर द्वारा जोड़ा जा सकता है। पुस्तकालय जोड़ने के लिए, स्केच-> लाइब्रेरी शामिल करें-> मांगे पुस्तकालय ।
अब लाइब्रेरी मैनेजर आपकी स्क्रीन पर होगा। सर्च बार में टॉकी टाइप करें और इंस्टॉल बटन पर क्लिक करें। पुस्तकालय स्थापित हो जाएगा।
यह लाइब्रेरी बहुत उपयोगी है और इसमें 1000 से अधिक शब्द और कमांड हैं। इसके कई उदाहरण हैं, आप उन सभी को आज़मा सकते हैं लेकिन यहाँ हम काम को समझाने के लिए एक सरल कोड का उपयोग कर रहे हैं।
आप लाइब्रेरी में दिए गए अन्य कमांड भी आज़मा सकते हैं। उन आदेशों को प्राप्त करने के लिए, दस्तावेज़ \ Arduino \ पुस्तकालयों \ Talkie \ src पर जाएं और फिर शीर्ष लेख फ़ाइलें खोलें और कई आदेश प्राप्त करें जिन्हें विभिन्न अलर्ट के लिए उपयोग किया जा सकता है। कई अन्य टीटीएस लाइब्रेरी हैं जैसे कि jscrane टीटीएस लाइब्रेरी, गूगल टीटीएस लाइब्रेरी आदि। आप उन्हें भी आज़मा सकते हैं।
तो चलिए कोडिंग शुरू करते हैं। सबसे पहले कुछ हेडर फाइल को शामिल करें । Talkie.h का उपयोग इस लाइब्रेरी को आरंभ करने के लिए और Arduino के डिजिटल पिन 3 को आउटपुट पिन के रूप में सेट करने के लिए किया जाता है। Vocab_US_Large.h अलर्ट हम प्रयोग कर रहे हैं उपयोग करने के लिए प्रयोग किया जाता है और Vocab_Special.h ठहराव हम प्रयोग कर रहे हैं उपयोग करने के लिए प्रयोग किया जाता है।
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
अब आदेशों का उपयोग करने के लिए एक वस्तु 'मूल्य' को परिभाषित करें:
टॉकी आवाज़;
यहां स्पीकर में एक ही संदेश दोहराया जाएगा इसलिए सेटअप फ़ंक्शन को खाली रखें और कमांड्स को लूप फ़ंक्शन में रखें। पहला कमांड voice.say (spPAUSE2) अलर्ट संदेश को दोहराते हुए एक छोटा विराम लेने के लिए है। और अगले कमांड केवल सरल शब्द हैं जो स्पष्ट रूप से कहते हैं: उत्तर में डेंजर डेंजर स्टेज।
शून्य सेटअप () { } शून्य लूप () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
अंत में Arduino में कोड अपलोड करें और इसे बिजली की आपूर्ति से कनेक्ट करें। जैसे ही आप सर्किट को पावर करेंगे आप अलर्ट सुनना शुरू कर देंगे! यदि आपको एक स्पष्ट ध्वनि नहीं मिलती है, तो पॉट के नॉब को समायोजित करने का प्रयास करें या जांचें कि क्या Arduino को उचित बिजली की आपूर्ति मिल रही है और सुनिश्चित करें कि Arduino का GND सर्किट की जमीन से जुड़ा हुआ है।
एक प्रदर्शन वीडियो के साथ पूर्ण कोड की जाँच करें नीचे दिए गए वीडियो हैं।