Community Blog Buy Now
Blog

Misty Community Forum

Misty Conversation skill help

Hey all,

We had our simple Conversation skill working until two days ago- Misty updated yesterday, and now the same skill is not playing the recalled audio file. Here is what the log looks like when the skill is run:

{data: “Misty is listening and will beep when she hears ‘Hey Misty’.”}
skillrunner.js:473 "‘conversation2’ Debug => " “2019-12-04T15:06:35.8883646Z”
skillrunner.js:480 Misty is listening and will beep when she hears ‘Hey Misty’.
skillrunner.js:473 “Calling command ‘GetStateData’” “2019-12-04T15:06:35.8883646Z”
skillrunner.js:480 {key: “googleAccessToken”}
skillrunner.js:473 “Calling command ‘SendExternalRequest’” “2019-12-04T15:06:35.9040029Z”
skillrunner.js:480 {method: “POST”, resource: “https://dialogflow.googleapis.com/v2/projects/libr…gent/sessions/mflctztl2u3brx9xk6suo1:detectIntent”, authorizationType: “Bearer”, token: “ya29.c.KpUBswcFQTUhjXNXJ92jwglfk-MAU6rFkD8a4ryEFfr…RGilh-gZSYNzyR1Z23TpcAyhIs9cGJ2bM_XzGhjLnY065StTE”, arguments: “{“queryInput”:{“audioConfig”:{“audioEncoding”:“AUD…et-C”,“ssmlGender”:“SSML_VOICE_GENDER_FEMALE”}}}}”, …}
skillrunner.js:473 “Calling command ‘Debug’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {data: “DialogFlow response: {“queryResult”:{“languageCode”:“en-US”}}”}
skillrunner.js:473 "‘conversation2’ Debug => " “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 DialogFlow response: {“queryResult”:{“languageCode”:“en-US”}}
skillrunner.js:473 “Calling command ‘Debug’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {data: “Input text: undefined”}data: "Input text: undefined"proto: Object
skillrunner.js:473 "‘conversation2’ Debug => " “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 Input text: undefined
skillrunner.js:473 “Calling command ‘Debug’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {data: “Ouput text: undefined”}data: "Ouput text: undefined"proto: Object
skillrunner.js:473 "‘conversation2’ Debug => " “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 Ouput text: undefined
skillrunner.js:473 “Calling command ‘ChangeLED’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {red: 0, green: 173, blue: 239}
skillrunner.js:473 “Calling command ‘SaveAudioAssetToRobot’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {fileName: “40_temp_output_audio.wav”, data: “undefined”, immediatelyApply: true, overwriteExisting: true}
skillrunner.js:473 “Calling command ‘PlayAudioClip’” “2019-12-04T15:06:36.1705799Z”
skillrunner.js:480 {fileName: “40_temp_output_audio.wav”, volume: 50}


Does anything immediately throw up red flags? Any help would be greatly appreciated!

Hi, @virtualservicesbcpl. Welcome to the community!

We have been tracking an issue related to recording audio that could be preventing your robot from sending any actual audio data to the TTS service you are using:

That may be why you are getting an “Input text: undefined” message (assuming that message is what you are getting back from Google).

We don’t currently have an estimate on when this bug will be fixed, but there is a temporary workaround:

If keeping your robot’s default volume low does not work, you can try troubleshooting your request parameters by using the REST version of the SendExternalReqeuest API with a client like Postman. Set up the call with the kind of payload you are using in your skill code, and make sure you are getting valid response data when you POST the request to Misty.

Changing the default volume level as mentioned seems to work.

Thanks for a quick response!

1 Like

Hi @virtualservicesbcpl,

The audio recording issue we discussed here is resolved by the Android patch released on January 7, 2020. This patch will not be installed automatically as part of an over-the-air system update. Instead, it must be applied manually, from a computer connected to the same network as your Misty II robot.

You can download the patch and find installation instructions in this post:

Applied patch. I am still receiving blank audio files. Any more tips on what this may be?

I noticed something a bit weird. I can get the input text to record properly when initiating the button labeled “Start Recording Voice” in the command center. If i push this button then ask Misty a question the input text is defined. If I try to use “Hey Misty” then input text shows as "undefined’.

I applied the suggested patch and performed all the updates available but I still get blank audio files when using the “Hey Misty” keyword.

Hi @lhsochia,

It’s possible that Misty’s audio recording bug is fixed and what you are seeing is an issue with the skill code or the interaction with your custom Dialogflow agent. To check whether the issue has been resolved on the robot side, copy and paste the example from the reference documentation for the StartKeyPhraseRecognition JavaScript command into a simple JavaScript skill. If the bug is fixed, then when you run the skill, Misty should start recording speech when you say “hey, Misty”, and then she will play the recording of the captured speech out loud.

If that sample code doesn’t work as expected, please follow these steps to get a diagnostic report. Attach the diagnostic.zip file in an email to support@mistyrobotics.com along with a brief summary your issue and the steps to reproduce.