أول مهارة للمحادثة باستخدام التعرف على العبارة الرئيسية لـ Misty (Wake Word) ، و Azure Speech to Text (STT) ونص Azure إلى الكلام (TTS)
https://github.com/wwlib/misty-azure
Misty II - محادثة مهارة (V2) https://youtu.be/-dte3khrmnq
Misty II - مهارة المحادثة (V2) W/Console https://youtu.be/hjd_yyee2v8
ملاحظات حول استخدام luis nlu https://medium.com/@andrew.rapo/robokit-setting-up-azure-seritive-services-bing-pech-luis-nlu-fbb39f5dc957
يتم تنفيذ خدمات Azure كتطبيقات وظائف
محادثة مهارة V2 تستدعي تطبيق وظيفة Audiotointent باستخدام Misty's Misty.SendExternalRequest () استدعاء واجهة برمجة تطبيقات على روبوت. يقوم تطبيق الوظيفة بإجراء مكالمة إلى Luis NLU ثم يعيد نية كسلسلة.
ثم يقوم محادثة مهارة V2 باستدعاء تطبيق وظيفة TextTospeech ويلعب الصوت الذي يتم إرجاعه.
تستخدم مهارة المحادثة V2 Misty.StartKeyPhraserCognition () للاستماع إلى العبارة الرئيسية "Hey Misty" (أي كلمة الاستيقاظ)
مع تشغيل مهارة المحادثة V2:
قل "مهلا ، ضبابي"
ستضعها Misty إلى Blue للإشارة إلى أنها تستمع
قل "هل تعرف أي نكات؟"
سيقول ضبابي: "أين يحتفظ الجنرال بجيوشه؟ ، ، في خبشاته".
قل "مهلا ، ضبابي"
ستضعها Misty إلى Blue للإشارة إلى أنها تستمع
قل "ما هو الوقت؟"
سيقول Misty: "الوقت هو الوقت الحالي ".
يحتوي هذا المجلد على رمز تطبيق Fucnction Azure الذي يعالج الصوت من Misty ويعيد نية. تدير الوظيفة:
try {
const accessToken = await getAccessToken ( ) ;
const utterance = await speechToText ( accessToken , audioBase64 , context ) ;
await textToIntent ( accessToken , utterance , context ) ;
} catch ( err ) {
context . log ( `Something went wrong: ${ err } ` ) ;
}
ملاحظة: تتطلب كل وظيفة بيانات من config.json
:
{
"Microsoft": {
"AzureSpeechSubscriptionKey": "<YOUR-BING-SUBSCRIPTION-KEY>",
"nluLUIS_endpoint": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/",
"nluLUIS_appId": "<YOUR-LUIS-APP-ID>",
"nluLUIS_subscriptionKey": "<YOUR-LUIS-SUBSCRIPTION-KEY>"
}
}
تحتوي Tools Foldler على أدوات Node/JavaScript لاختبار المكالمات إلى Azure:
ملاحظة: تتطلب كل من هذه الأدوات بيانات من config.json
:
{
"Microsoft": {
"AudioToTTSFunctionURL": "",
"AudioToIntentFunctionURL": "",
"TextToTTSFunctionURL": ""
}
}