هل رأيت بالفعل ما يفعله
Porfirievich ؟ إنها تلحق النص بأي من العبارات الخاصة بك. وظهرت أشياء مضحكة حقًا ، لأنها تدربت على كتب دوستويفسكي ، تولستوي ، بوشكين ، بولجاكوف ، جوجول وبيليفين.
" أعتقد
أن التعبير عن هذا الأمر برمته بصوت ليفيتان سيكون بديلاً ممتازًا لمساعد Google في عيد رأس السنة ..." وقررت عدم تأجيل هذا الحدث للعام
الجديد (لأنك تفهم نفسك).
تحت الخفض - العملية برمتها لإنشاء
مساعد صوت مفتوح المصدر Porfirievich على إطار Aimybox مفتوح المصدر حصريًا ، وإطلاقه بدلاً من مساعد Google العادي. حسنا ، في الوقت نفسه ،
يمكنك القزم أليس .
إذا كنت ترغب في تجربة كل هذا على الفور في الممارسة ، فيمكنك تثبيت أحدث إصدار من هنا
Porfirievich API
ظهر
مقال مؤخرًا على المحور يروي كيف قام ميخائيل جرانكين بتعليم الشبكة العصبية
GPT-2 لإلحاق نصوص "ذات معنى" بأي عبارة. اتضح مضحك. بالإضافة إلى ذلك ، الوصول إلى الشبكة العصبية مفتوح من خلال واجهة برمجة تطبيقات HTTP المعتادة.
نذهب إلى
الموقع الذي يمكنك من خلاله تقديم طلبات إلى Porfiryevich ، وفتح المفتش ومعرفة أين تذهب الطلبات وما التنسيق.

لا توجد حدود لواجهة برمجة التطبيقات هذه ، لكن المطور لا يزال يوصي بتنزيل نموذج Porfiryevich ونشره على خادمه.
Aimybox sdk
لدينا API Porfirievich! الآن كان من الضروري تصنيف التطبيق الصوتي الفعلي للهواتف الذكية ، والذي سيتعرف على الكلام ويخلقه.
أحد الحلول الممتازة لهذا هو
إطار Aimbox المفتوح ، والذي كتب حوله بالفعل عن
Habré هنا وهنا . يسمح لك بإنشاء تطبيق صوتي أو تضمين وظائف صوتية في مشروع موجود بسرعة. في الوقت نفسه ، هناك بالفعل
واجهة المستخدم الرسومية الجميلة التي يمكن تخصيصها.
يمكنك استنساخ نموذج تطبيق لنفسك وإنشاء مشروع على أساسه.بالمناسبة ، ظهر الإصدار الأول من iOS SDK مؤخرًا ، لذلك يمكن تكرار نفس الشيء بالنسبة إلى iOS.
يمكن أن يعمل Aimybox مع أي مشغل حوار ، على سبيل المثال
Aimylogic ، أو Rasa ، أو Dialogflow ، كما يسمح لك بتنفيذ اتصال بأي محرك
أقراص آخر. في حالتنا ، نحتاج إلى إرسال الطلبات مباشرةً إلى Porfirevich API وتحليل الإجابات. لهذا الغرض ، لا يوجد شيء مطلوب - لكتابة فصول
الطلب والاستجابة المناظرة
وتطبيق DialogAPI نفسه ، والذي يرسل بالفعل الطلبات ويوزع الإجابات.
الاعتراف والتوليف
على أي جهاز يعمل بنظام أندرويد من خارج منطقة الجزاء ، يعمل التعرف المجاني على الكلام وتوليف الكلام من Google ، لذلك لا داعي للقلق بشأنه. هذا مجرد صوت ، بالطبع ، أردت استبدال شيء أكثر ملاءمة للمقطع الأدبي في Porfirevich ...
صوت ليفيتان
في السابق ، كان
Yandex Speechkit-a (حل قائم على السحابة للتعرف على الكلام وتوليفه) يتمتع بصوت ليفيتان رائع ومناسب تمامًا لمشروعنا. لقد انتقل كل شيء الآن إلى
Yandex Cloud ، أصبح كل شيء مدفوعًا (بدون أي طلبات 10k تجريبية) ، لذلك كان علي البحث عن بدائل.
هناك مثل هذه الخدمة الرائعة لاختبار المهارات لـ Alice -
station.aimylogic.com . على ذلك ، يمكنك اختيار الصوت الذي يجمع الإجابات واختبار المهارات الخاصة بك مباشرة في المتصفح. ننظر في API الخاصة به ونجد نقطة النهاية التي تذهب إليها طلبات تركيب الكلام

هنا يمكنك أن ترى أنه في حالة استبدال
levitan في معلمة
مكبر الصوت في عنوان URL هذا ، يمكنك الحصول على النتيجة المرجوة. هذا هو ما نحتاجه!
في الواقع ، تقوم فئة PorfirResponse فقط باستبدال عنوان URL هذا بالمعلمات اللازمة لجعل أداة النطق تقوم فقط بتشغيل ملف MP3 الذي تم إنشاؤه بدلاً من نطق نص الاستجابة من Porfiryevich.استبدال مساعد جوجل مع Porfiryevich
يمكنك إطلاق صوتنا Porfiryevich ببساطة عن طريق فتح التطبيق والضغط على زر الميكروفون. لكن من الأفضل تشغيله بدلاً من مساعد Google العادي ، لأن العديد من الهواتف الذكية لديها دعم مساعد مدمج (على سبيل المثال ، في Oneplus 7 ، يمكنك الضغط على زر الطاقة لتنشيط المساعد من أي شاشة).
للقيام بذلك ، تحتاج فقط إلى تسجيل عامل تصفية أكثر نيةً
android.intent.action.ASSIST في
AndroidManifest ، ضع
android: launchMode = "singleTop" علامة وتنفيذ طريقة
onNewIntent في
MainActivity ، حيث لبدء التعرف على الكلام عند استدعاء التطبيق في وضع المساعد.
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() } } }
في إعدادات الهاتف الذكي ، تحتاج إلى تحديد Porfirevich كمساعد افتراضي. الإعدادات -> التطبيقات -> التطبيقات الافتراضية
غطاء مزركش
في
ملفات styles.xml و
strings.xml ، يمكنك تغيير ألوان واجهة المستخدم الرسومية Aimybox القياسية وفي نفس الوقت تحديد عبارة البدء التي سيتم عرضها على الشاشة عندما يبدأ المساعد لدينا.
نطلق
في الواقع كل شيء! بعد الاطلاق ، يمكنك مراقبة هذه اللآلئ




إذا وضعت بجانب هاتف ذكي آخر مع Yandex Alice وقمت بإجراء محادثة معه ، فيمكنك الحصول على حوار "عاقل" لاثنين من الأشخاص الأصحاء

ما التالي؟
هذه هي الأفكار التي تتبادر إلى الذهن حتى الآن
- على الشاشة الرئيسية للتطبيق ، اعرض تاريخ إجابات Porfirevich مع إمكانية المشاركة.
- قم بإنشاء شاشة بالإعدادات - وضع الحوار ، طول الاستجابة ، اختيار الصوت ، إلخ.
إذا كانت لديك أفكار أفضل أو عثرت على خطأ ، فلا
تتردد في استخدام Github ، حيث تكمن جميع رموز المشروع الآن. يمكنك أيضًا التبرع (كتابة رمز).
روابط مفيدة