Uma habilidade de conversação de primeiro passe usando o reconhecimento de frases -chave de Misty (Wake Word), discurso do Azure para Texto (STT) e Texto do Azure para Speech (TTS)
https://github.com/wwlib/misty-azure
Misty II - Habilidade de conversa (v2) https://youtu.be/-dte3khrmnq
Misty II - Habilidade de conversa (v2) com console https://youtu.be/hjd_yye2v8
Notas sobre o uso de luis nlu https://medium.com/@andrew.rapo/robokit-setting-um-azure-cognitivo-services-bing-speech-luis-nlu-fbb39f5dc957
Os serviços do Azure são implementados como aplicativos de função
Habilidade de conversa V2 chama o aplicativo de função postente de audição usando a Misty's Misty.SendexternalRequest () On-Robot API Call. O aplicativo de função faz uma chamada para Luis NLU e depois retorna uma intenção como uma string.
Em seguida, a Habilidade de Conversação V2 chama o aplicativo TextToSpeech Function e reproduz o áudio que é retornado.
Habilidade de conversa V2 usa o Misty.StartKeyPhraseRecognition () para ouvir a frase-chave "Hey Misty" (ou seja, palavra de despertar)
Com a conversão v2 Habilidade em execução:
Diga "Ei, enevoado"
Misty a colocará a levou a Blue para indicar que ela está ouvindo
Diga "Você conhece alguma piada?"
Misty dirá: "Onde o general mantém seus exércitos?, Em suas mangas".
Diga "Ei, enevoado"
Misty a colocará a levou a Blue para indicar que ela está ouvindo
Diga "Que horas são?"
Misty dirá: "A hora é a hora atual ".
Esta pasta contém o código para um aplicativo de fucnção do Azure que processa áudio da Misty e retorna uma intenção. A função gerencia:
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 } ` ) ;
}
Nota: Cada função requer dados de seu 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>"
}
}
As ferramentas Foldler contém ferramentas de nó/javascript para testar as chamadas para o Azure:
Nota: Cada uma dessas ferramentas requer dados do config.json
:
{
"Microsoft": {
"AudioToTTSFunctionURL": "",
"AudioToIntentFunctionURL": "",
"TextToTTSFunctionURL": ""
}
}