The Misty Photo Booth Skill illustrates how text messaging is a pretty sociable way to ask a robot to do something. Today, we’re breaking down another useful skill Misty can do to help you: the Misty Text to Speech Skill. Following our skill set-up instructions, we share examples of other skills and use cases that this one may complement.
Misty Text to Speech Skill Set-Up
Just like the Misty Photo Booth Skill, you’ll use the Twilio and PubNub APIs to set up this skill. Because Misty speaks in this one, you’ll also use a cloud-based web service capable of setting up an audio file. We chose Amazon Web Services (AWS) but other options include Microsoft Azure or Google Cloud Service.
The first step is to set up the Twilio AutoPilot API to receive your texts via the phone number you’ve set up. When this phone number receives the text, Twilio directs your message to the Programmable Messaging channel associated with an Autopilot assistant. You “train” this assistant to identify the TextToSpeech task and call the corresponding Twilio Function. (Refer back to this post for a more detailed explanation of the AutoPilot API.)
You can customize your Twilio Console with any trigger phrases you’d like — Here’s how ours looks:
The Twilio Function, in turn, calls an AWS lambda function with the text that is to be converted to audio and relayed back to Misty as a base64 encoding of the audio file:
This AWS audio file is then sent to PubNub:
In the final step, Misty receives the base64 encoded data from PubNub which is the code that runs on Misty as the skill:
Use Cases for the Misty Text to Speech Skill
The value in a skill like this one is that it allows you to communicate aloud versus via a screen without having to be nearby. Paired with other skills, there are many possibilities for what you can do.
Let’s start with a business use case. For instance, take the example of the local distillery owner we highlighted in the Misty Monitoring Skill. Imagine he receives a notification on his phone alerting him that the temperature for some of his equipment has risen too high. In the Misty Monitoring Skill, he’s already able to remotely control Misty and investigate the problem. However, imagine if the problem is an urgent one he knows he won’t arrive in time to fix.
Using the Misty Text to Speech Skill, he can communicate the urgent need quickly. After remotely driving Misty to an on-site employee he can, via text, have Misty say, “Hey, there’s a problem – Follow me!” Then, lead the employee directly over to the issue to investigate it further.
Or, consider the Misty Office Assistant Skill. While you can already program Misty to greet your office guest, you might want to offer more personalized interaction. You could text to have her say, “Whew, it’s really pouring out there – You can leave your umbrella in the holder over here” if you notice your guest arrived with one. Like the Misty Monitoring Skill, this would incorporate you remotely controlling Misty.
Recently, our founder Ian shared his very first Misty Skill: the China Time to Leave Alarm Clock. It’s a pretty simple concept that he was inspired to create because the Misty team working in China ran late for their bus ride into work more often than not. Ian shared his code for the skill on GitHub for anyone who can relate to this problem.
That skill alone might be all you need but one fun way to build on top of it using the Misty Text to Speech Skill is to make it possible for someone (perhaps a Misty team member in Boulder or even the bus driver ) to send a text personalizing that wake-up call with their own message. You can imagine how this skill might be helpful for parents.
The Misty Text to Speech Skill is one way to bring Misty to life all on its own or by building on top of other skills you and others in the Misty Community are building. What ideas do you have for incorporating it into a useful way to communicate?