हम तंत्रिका सहायक पोरफेयरविच और ट्रोल एलिस के साथ Google सहायक को प्रतिस्थापित करते हैं


क्या आपने पहले ही देखा है कि पोर्फिरिच क्या कर रहा है? वह आपके किसी भी वाक्यांश पर पाठ जोड़ता है। और वास्तव में मज़ेदार बातें सामने आती हैं, क्योंकि उसे दोस्तोवस्की, टॉलस्टॉय, पुश्किन, बुल्गाकोव, गोगोल और पेलेविन की पुस्तकों पर प्रशिक्षित किया गया था।

" मैंने लेविटन की आवाज़ के साथ इस पूरी चीज़ को आवाज़ देने के लिए नए साल की दावत के लिए Google के सहायक के लिए एक उत्कृष्ट विकल्प होगा ..." मैंने सोचा। और मैंने इस घटना को नए साल के बाद के लिए स्थगित नहीं करने का फैसला किया (क्योंकि आप खुद समझते हैं)।

कटौती के तहत - विशेष रूप से खुले स्रोत Aimybox ढांचे पर एक ओपन-सोर्स वॉयस असिस्टेंट पोर्फिरिविच बनाने की पूरी प्रक्रिया, और नियमित Google सहायक के बजाय इसे लॉन्च करना। ठीक है, उसी समय, आप ऐलिस को ट्रोल कर सकते हैं

यदि आप तुरंत व्यवहार में यह सब करने की कोशिश करना चाहते हैं, तो आप यहां से नवीनतम रिलीज स्थापित कर सकते हैं

पोर्फिरिच एपीआई


हाल ही में हब पर एक लेख सामने आया है जिसमें बताया गया है कि कैसे मिखाइल ग्रेनकिन ने GPT-2 तंत्रिका नेटवर्क को किसी भी वाक्यांश के लिए "सार्थक" ग्रंथों को जोड़ना सिखाया। यह मजेदार निकला। इसके अलावा, तंत्रिका नेटवर्क तक पहुंच नियमित HTTP एपीआई के माध्यम से खुली है।

हम उस साइट पर जाते हैं जिसके माध्यम से आप पोर्फिरवाईविच के लिए अनुरोध कर सकते हैं, निरीक्षक खोल सकते हैं और देख सकते हैं कि अनुरोध कहां जाते हैं और क्या प्रारूप है।



इस API की कोई सीमा नहीं है, लेकिन डेवलपर फिर भी Porfiryevich मॉडल को डाउनलोड करने और इसे अपने सर्वर पर तैनात करने की सलाह देता है।


Aimybox sdk


हमारे पास पोर्फिरिच एपीआई है! अब स्मार्टफोन के लिए वास्तविक वॉयस एप्लिकेशन को प्राप्त करना आवश्यक था, जो भाषण को पहचानता और संश्लेषित करता था।

इसके लिए एक उत्कृष्ट समाधान ओपन एबॉक्स बॉक्स है , जिसके बारे में उन्होंने पहले ही यहां और यहां हैबे पर लिखा है । यह आपको एक वॉयस एप्लिकेशन बनाने या किसी मौजूदा प्रोजेक्ट में वॉइस फ़ंक्शन को एम्बेड करने की अनुमति देता है। इसी समय, पहले से ही एक सुंदर जीयूआई है जिसे अनुकूलित किया जा सकता है।

आप अपने आप के लिए एक नमूना आवेदन क्लोन कर सकते हैं और इसके आधार पर एक परियोजना बना सकते हैं।
वैसे, आईओएस एसडीके का पहला संस्करण हाल ही में सामने आया है, इसलिए सभी को आईओएस के लिए दोहराया जा सकता है।
Aimybox किसी भी डायलॉग इंजन के साथ काम कर सकता है, उदाहरण के लिए Aimylogic, Rasa या Dialogflow , और आपको किसी अन्य से कनेक्शन लागू करने की अनुमति भी देता है। हमारे मामले में, हमें सीधे Porfirevich API को अनुरोध भेजने और उत्तरों को पार्स करने की आवश्यकता है। इसके लिए, संबंधित अनुरोध , रिस्पांस क्लासेस और स्वयं डायलॉगएपीआई के कार्यान्वयन को लिखने के लिए कुछ भी आवश्यक नहीं है, जो वास्तव में अनुरोध और पार्स प्रतिक्रियाएं भेजता है।

मान्यता और संश्लेषण


बॉक्स से बाहर किसी भी एंड्रॉइड डिवाइस पर, Google काम से मुक्त भाषण मान्यता और भाषण संश्लेषण, इसलिए इसके बारे में चिंता करने की कोई आवश्यकता नहीं थी। यह सिर्फ आवाज है, ज़ाहिर है, मैं पोरफेयरविच के साहित्यिक शब्दांश के लिए कुछ और उपयुक्त के लिए विनिमय करना चाहता था ...

वॉइस ऑफ लेविटन


इससे पहले, यैंडेक्स स्पीचिटक-ए (भाषण को पहचानने और संश्लेषित करने के लिए क्लाउड-आधारित समाधान) में एक अद्भुत लेविटन आवाज थी, जो पूरी तरह से हमारी परियोजना के अनुकूल थी। अब सब कुछ यैंडेक्स क्लाउड में चला गया है, सब कुछ भुगतान हो गया है (बिना किसी परीक्षण के 10k अनुरोध), इसलिए मुझे विकल्पों की तलाश करनी थी।

ऐलिस के लिए एक ऐसी महान कौशल परीक्षण सेवा है - station.aimylogic.com । उस पर, आप उन आवाज़ का चयन कर सकते हैं जो उत्तरों को संश्लेषित करती हैं और ब्राउज़र में सीधे आपके कौशल का परीक्षण करती हैं। हम इसके एपीआई में देखते हैं और एंडपॉइंट पाते हैं जिसमें भाषण संश्लेषण के लिए अनुरोध किया जाता है



यहां आप देख सकते हैं कि यदि आप इस URL में स्पीकर पैरामीटर में लेविटन को प्रतिस्थापित करते हैं , तो आप वांछित परिणाम प्राप्त कर सकते हैं। यह वही है जो हमें चाहिए!

वास्तव में, पोर्फिरस्पेस क्लास सिर्फ इस पैरामीटर को आवश्यक मापदंडों के साथ स्थानापन्न करता है ताकि भाषण सिंथेसाइज़र बस पोर्फिरयेविच से प्रतिक्रिया पाठ के उच्चारण के बजाय उत्पन्न एमपी 3 को चला सके।

Google सहायक को पोर्फिरिविच से बदलें


आप केवल एप्लिकेशन खोलकर और माइक्रोफ़ोन बटन टैप करके हमारी आवाज़ पोरफिराइविच लॉन्च कर सकते हैं। लेकिन नियमित Google सहायक के बजाय इसे चलाना अधिक सुखद है, क्योंकि कई स्मार्टफोन में अंतर्निहित सहायक समर्थन है (उदाहरण के लिए, मेरे वनप्लस 7 पर आप किसी भी स्क्रीन से सहायक को सक्रिय करने के लिए पावर बटन पकड़ सकते हैं)।

ऐसा करने के लिए, आपको केवल AndroidManifest में एक और इरादे फ़िल्टर android.intent.action.ASSIST को पंजीकृत करने की आवश्यकता है, Android डालें: launchMode = "singleTop" ध्वज और MainActivity में onNewIntent विधि को लागू करें, जिसमें एप्लिकेशन को सहायक मोड में कॉल करने पर वाक् पहचान प्रारंभ करना है।

override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) if (intent?.action == Intent.ACTION_ASSIST) { val aimybox = (application as PorfirApplication).aimybox val channel = aimybox.stateChannel.openSubscription() launch { channel.consume { aimybox.startRecognition() } }.invokeOnCompletion { channel.cancel() } } } 

स्मार्टफोन सेटिंग्स में, आपको डिफ़ॉल्ट सहायक के रूप में पोरफेयरविच का चयन करना होगा। सेटिंग्स -> अनुप्रयोग -> डिफ़ॉल्ट अनुप्रयोग

अलंकृत करना


Style.xml और strings.xml फ़ाइलों में, आप मानक Aimybox GUI के रंगों को बदल सकते हैं और साथ ही हमारे सहायक शुरू होने पर स्क्रीन पर प्रदर्शित होने वाले वाक्यांश को निर्दिष्ट कर सकते हैं।

हम लॉन्च करते हैं


वास्तव में सब कुछ! लॉन्च के बाद, आप इन मोतियों का अवलोकन कर सकते हैं



यदि आप यैंडेक्स ऐलिस के साथ किसी अन्य स्मार्टफोन के बगल में रखते हैं और उस पर एक चैट चलाते हैं, तो आप दो नहीं "स्वस्थ" संवाद प्राप्त कर सकते हैं जो काफी स्वस्थ लोग नहीं हैं



आगे क्या है?


ये वो विचार हैं जो अब तक दिमाग में आते हैं

  • एप्लिकेशन की मुख्य स्क्रीन पर, साझा करने की संभावना के साथ पोरफेयरविच के उत्तरों के इतिहास को प्रदर्शित करें।
  • सेटिंग्स के साथ एक स्क्रीन बनाएं - संवाद मोड, प्रतिक्रिया लंबाई, आवाज चयन, आदि।

यदि आपके पास बेहतर विचार हैं या बग पाया गया है, तो गितुब का उपयोग करने के लिए स्वतंत्र महसूस करें , जहां सभी परियोजना कोड अब निहित हैं। आप दान भी कर सकते हैं (एक कोड लिखें)।

उपयोगी लिंक


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


All Articles