Robot Not a Dev? Pre-order Now
Not a Dev?

Misty Community Forum

[Resolved] Misty doesn't play audio files that I record through the Command Center

There’s a bug in the current release that prevents Misty from playing audio files that you record using the Command Center interface back through her built-in speakers. A fix for this issue is in active development.

3 Likes

this affects anyone using the rest API to record audio. note that the files play fine on my local machine (macbook)

1 Like

Is there a work-around for this by chance, until it gets fixed? I’ve built a skill that allows a person to have a full back-and-forth conversation with Misty, but this is preventing it from really working.

Conversation Skill:

  1. Misty records audio of person talking
  2. Misty sends the audio file to a Google Cloud Function (using the SendExternalRequest API), which connects to Google DialogFlow. It uses speech recognition to get the text input, uses AI to map the input to an appropriate response, and then uses TTS to send an audio file in response.
  3. Misty receives the audio, saves it and play it.

This all works if I record the initial audio on my laptop, upload it to Misty, and then proceed with Step 2.

But, I would LOVE to be able to record the audio on Misty and send it off for processing.

2 Likes

Wow, That is an awesome Skill !! I am looking forward to checking out your video soon !
This bug should actually not prevent a skill from getting the data from the recorded audio file.
Try
misty.GetAudioFile("<file_name>.wav", true);
and the data should reach the default callback

function _GetAudioFile(data) 
{
    var base64 = data.Result.Base64;
}
2 Likes

I was following “Setting Up and Running the “Misty Reads” Skill with Microsoft Azure” and was unable to save audio with the JavaScript API: misty.SaveAudio(“AzureResponse.wav”, audioData, true, true);

I assume the JavaScript audio API has the same issue as the REST audio api that prevents us from saving audio files?

1 Like

Hi @steve! Welcome to the Misty Community!

That command should work, although I haven’t tried it recently. Have you been able to confirm that the response from your azure function is coming through and correct? (You can hit your endpoint using postman to see the full response)

The Azure function returns the correct data. When I converted base64 string to a wav file offline, it played “Hi there Steve” fine for me. But I haven’t been able to save it to Misty.

OK. It works actually fine. The example project’s code was wrong. The project code converts the base 64 string to byte array string. When I used the base 64 string directly with the API, it worked fine. I should have checked the API doc, but I assumed the project would use working code.

2 Likes

@Chris - this is worth making an update to that blog post. Where else do we reference that code?

Ah, yes. Thanks @steve. You are correct, in a recent update to Misty, we removed the requirement that audio comes to the robot through a byte string. I’ll update the example code and the blog post!

Where could I find a simple example code that illustrates this?

This is the Skill @cameron mentions.

1 Like