DIY आवाज अनुवादक

लगभग एक हफ्ते पहले, एक बातचीत में मेरे एक अच्छे दोस्त ने शिकायत की कि वह अंग्रेजी सीखना चाहता था, लेकिन दुर्भाग्य से, काम के कार्यक्रम के कारण, वह पाठ्यक्रमों में भाग नहीं ले सका। यह अच्छा होगा यदि नियमित फोन पर किसी प्रकार का अनुवादक-ट्यूटोरियल हो (जे 2 मी प्लेटफॉर्म पढ़ें)। पास के एक मोबाइल फ़ोरम के मॉडरेटर के रूप में, मैंने इस तरह के समाधान की तलाश में विषयों को परिमार्जन करना शुरू कर दिया। कुछ मिला। समस्या यह थी कि:
1) 350 केबी से वजन और 7-8 मेगाबाइट तक
2) केवल पाठ अनुवाद
3) केवल दो भाषाओं (रूसी-अंग्रेजी)

एक सच्चे जेडी डेवलपर के रूप में, मैंने स्थिति को सुधारने, लड़की को प्रभावित करने का फैसला किया, उसी समय मैं लंबे समय तक j2me पर आवाज के साथ काम करना चाहता था।
इस पूरी चीज़ के इंजन के रूप में, मैंने तुरंत गुड कॉर्पोरेशन से एक उत्पाद चुना।
मैंने अपने आप को TK सेट किया:
- न्यूनतर इंटरफ़ेस (दो इनपुट फ़ील्ड, भाषाओं का विकल्प जिसमें से और जिसमें अनुवाद करना है)
- पाठ अनुवाद
- अनूदित पाठ का स्वर अभिनय
- वॉयस इनपुट

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

सबसे दिलचस्प रहा, और पहली नज़र में अवास्तविक मंच - j2me पर आवाज की पहचान। मैंने सॉफ़्टवेयर प्रोसेसिंग के विचार को तुरंत ही खारिज कर दिया, और यह अध्ययन करना शुरू कर दिया कि GoogleSpeechAPI का उपयोग करके आवाज़ को कैसे पहचाना जाता है। विषय पर पर्याप्त जानकारी है, मुख्य समस्या यह है कि एपीआई फ्लैक या स्पीक्स प्रारूप को स्वीकार करता है। खैर, मैं j2se के लिए इसी प्रारूप के पुस्तकालयों को डाउनलोड करने जा रहा हूं और उन्हें j2me में पोर्ट करना शुरू कर रहा हूं। कॉफी के 20-30-50 मग के बाद सुबह 4 बजे, एक हजार से अधिक लाइनों के साथ आगामी संघर्ष को देखते हुए, मैं इस सोच से मारा गया था कि एक बार, नोकिया एन 73 पर, मैंने Google से एक आवाज खोज की थी, और यह आश्चर्यजनक रूप से था जल्दी से। या तो किसी प्रकार का मेगा-उत्पादक कोडेक फ्लैक था, या थोड़ी चाल है। मैं प्रोग्राम और लाइब्रेरी कोड को स्थगित करता हूं, एक नया प्रोजेक्ट बनाता हूं जिसका मुख्य लक्ष्य GoogleSpeechAPI के साथ संगतता के लिए फोन द्वारा समर्थित सभी ऑडियो प्रारूपों के माध्यम से लूप करना है। संकलित करें, चलाएं, कुछ मिनटों का भय जो मुझे गलत लगा, पाठ का एक लंबा कैनवास एपी से त्रुटियों के साथ ... और एक एकल उत्तर जो भीड़ से बाहर खड़ा है। और प्रारूप "एन्कोडिंग = एमआर" है! आनंद अल्पकालिक था, मेरे वोट भेजने के सभी प्रयासों के लिए मुझे "ऊह" और इसी तरह पाठ के साथ धीमे उत्तर मिले। पहले से ही काम पर एक नींद की रात के बाद मस्तिष्क के अवशेषों को बाहर फेंकते हुए, मैंने यह जांचने का फैसला किया कि फोन रिकॉर्डर किन विशेषताओं को लिखता है, धन्यवाद aNNiMON 'जिन्होंने तुरंत इसके साथ मदद की। यह पता चला कि "ऑडियो / एमआर" को बदलना आवश्यक था; दर = 16000 "से" ऑडियो / एमआर; दर = 8000 ”। काम के बाद, हम जांचते हैं कि यह कैसे काम करता है। बिंगो!
अब कार्यक्रम और स्रोत कोड को अधिक या कम उपयोग करने योग्य बनाने की व्यवस्था करना संभव था। अंतिम संस्करण हो सकता है:
- पाठ का एक भाषा से दूसरी भाषा में अनुवाद, भाषाओं की सूची Translate.google.com पर समान है
- अनूदित पाठ को आवाज देता है
- वॉयस-इन-वॉयस अनुवाद कर सकते हैं, अर्थात्, हम पाठ को निर्धारित करते हैं, यह इनपुट क्षेत्र में प्रकट होता है, अनुवादित होता है, और आवाज उठाई जाती है
- उच्चारण उच्चारण (एक आदर्श समाधान नहीं है, लेकिन यह काम करता है)। हम वाक्यांश को निर्देशित करते हैं, और यह मानक के खिलाफ जांच की जाती है
- फ़ाइल सिस्टम और अनुवाद से पाठ खोलना
- अनुवाद लॉगिंग, वॉयस रिकॉर्डर फ़ोल्डर में संग्रहीत (फ़ाइल सिस्टम में)

मैं अपने फोन, दोस्तों, परिचितों, त्रुटियों को पकड़ने के लिए कुछ मंचों पर कार्यक्रम फेंक देता हूं। प्रतिक्रिया अस्पष्ट है, कुछ संसाधनों पर विषयों में एक भी पोस्ट नहीं है, कुछ दोस्तों ने एंड्रॉइड / कंप्यूटर के लिए समान पूछा। मैं अब भी उसी मित्र की प्रतिक्रिया का इंतजार कर रहा हूं

UPD: पाई गई समस्याओं को ठीक किया, अब रिकॉर्डिंग करते समय हम अंत बटन और टाइमर रिकॉर्डिंग के साथ खिड़की पर पहुंचते हैं; सर्वर / नेटवर्क पर त्रुटि के मामले में, हम संबंधित सूचना प्रदर्शित करते हैं

Source: https://habr.com/ru/post/In146374/


All Articles