
Hey everyone.
I'm looking for a little help or examples to create a "reminders" script via speech to text. What I'm looking to do is something like the following example...
Human
"Robot. Set a reminder for 3:30pm to remind me to take my pills."
Robot
"Understood. A reminder has been set for 3:30pm as requested."
And when 3:30pm arrives...
Robot
"It is now 3:30pm. Time to take your pills."
I have tried various ways of combining elements of a "say the time" and a simple "alarm" script, but so far have not had any luck. I would like it to be dynamic in the fact that any "time" I verbally say to the robot via speech recognition would be recognised and automatically set, without manual input like physically typing out an alarm script. The problems I'm facing with this is...
1.) One way of doing this would be to write multiple scripts, each containing every permutation of hours and minutes within the 24 hour clock, or to go even further, days, weeks or months (which would obviously be a heck of a lot of scripts). The "Say the time" script I have uses vairables, so I know this would shorten the process.
2.) The the speech to text side of things where the reminder subjects such as "pills" "Take out the trash" "Your favourite TV show is about to start" for example, would need to input verbally and in to a dynamic script. Essentially, editing an existing script via speech recognition.
I hope what I wrote above is clear enough in explaining what I'm asking, and any help or script examples anyone can offer would be appreciated, as I've had no success with this so far, and I think I'm a little out of my depth with this one.
Thanks guys.
Steve.
Alan
There is also a way to have the robot ask you questions and you reply to setup a specific reminder for a specific user.
The sample project here has a lot of this built into it.
Agreed, Google is pretty good for that (I use my iPhones Siri for that also), but as you say, I fancied having ARC doing it too. In not too sure about Pandorabot for this function. I only really know how to write the AIML for the conversation side of things.
@David.
Thanks for the offer, but I'm not going to use EZ-AI for this particular project, as I want to keep this one all confined to ARC.
It sounds like writing this information to a text file would be the most likely solution for you. You would then query the text file to load the schedule into variables in your project when the project loads, which would build an array of reminders based on what is in the text file.
To write to the text file, I would recommend having the robot ask you questions like What hour is the reminder for? What minute is the reminder for? It this an everyday reminder or a specific day of the month? From there, you could house the data and use it as mentioned above.
EZ-Builder's voice recognition is only based on what it has available in the recognition component. This is done so that the speech recognition is far more reliable. You would need to add each possible minute, hour and type of reminder to the speech recognition component for your robot to be able to understand what you are asking it to do.
Your just about to convince me I need the EZ-AI to develop my inmoov project.
Not yet, I am still printing, assembling and writing basic low level script.
I had a feeling about the voice recognition part, as you say, it only acts on inputs written in the config menu.
Writing the info to a text file sounds like the best solution. The "Pills" example was probably a bad one, more like "Remind me to by some beer at 2pm" would have been a better example (not that I need reminding to buy beer ;)).
I just wanted to add that I don't want to use EZ-AI for this, as this project will mainly be running off a tablet, so I want to keep system resourse's light, but will be something I'll look at for PC run projects.
I dont have an issue at all with people not using EZ-AI. I completely understand needing light weight stuff. We don't use it in the class that I teach as the computers are too lightweight to handle it. I should be teaching a more advanced class next year that will go into C# programming. I will introduce EZ-AI to these students and have them recreate some of what I have done with EZ-AI and have them come up with other things that they think a robot should be able to do.
I would still download the sample project I posted earlier and check out how I format the data for spoken reminders. From there, you would just write the piece that reads and writes from a text file. It will give you a good head start or at least let you see how someone else is doing this.
You would be able to poll it in your main program and do a time comparison (per poll cycle) with a reminder listing that has been set up. These RTC modules are only a few quid on ebay and they come with back-up battery, here is one.
www.ebay.co.uk/itm/DS1307-I2C-RTC-AT24C32-Real-Time-Clock-Board-Module-Arduino-ARM-PIC-UK-SELLER-/400871752739?pt=LH_DefaultDomain_3&hash=item5d55d18423
They connect via I2C so are easy to use. I use these together with an Atomic clock module (that automatically sets/changes the time) with a custom PIC that then sends the time/date data to the v4, here is my setup.
You probably do not need the Atomic clock module so you would not need the custom PIC which just decodes the MSF time signal.
Hope this is of some use.
Tony
Thanks for that. It looks like a neat little bit of kit. It defiantly looks like something I could use and is certainly cheap enough. I can see a few potential uses for this so might grab myself a couple.
Thanks again.
Steve.