I have plans for a robot for a college project: in short, this is a personal assistant robot. It should be able to use Wolfram Alpha (just like Anna) to get information on spoken search terms (I.E. voice recognition) and output them using text-to-speech. This is all for now, as I want to have a working base that I can develop of my own accord.
I have a bit of experience in programming (Visual Basic and C), so I have a vague idea of where I'm going. I could do with some advice and pointers though. Don't get me wrong, I want to do the robot myself, but you guys know more than me!
What I plan to do:
Use voice recognition and hotwords such as "Wolfram" to perform commands (Library of hotwords can be expanded later)
Use text to speech to output results
That's all for now.
What I could do with advice about
How to go about retrieving results from wolfram alpha from a spoken search term
Arduino or Raspberry pi*?
*Arduino for the power consumption or RPi for the ease of installing pre-made programs?
For voice recognition I For voice recognition I would use a RasPi. Jasper does pretty much what you want already.
How big is this bot supposed to be?
And what is it suppose to assist with in the real world? If it’s just supposed to answer questions and contact people in case of emergency, it would be almost better to make it into a box that one could wear on a belt. You could even include wifi and cell phone functionality fairly easily (both SparkFun and Adafruit have cell phone boards - I was thinking of making a Star Trek communicator pin some day).
If you want low power If you want low power consumption, I think the Intel Newton wins, but you’d need level shifters to deal with other boards.
Jasper is a front end to PocketSphinx (voice recognition) and I think eSpeak (text to speech).
You would really need a single board computer (SBC) to handle the voice. The Arduino is mostly a microprocessor with very little RAM and flash; the Arduino Yun runs Linux, but I’m not too impressed by it.
At first I’m thinking (as the base for further development) a small box that could sit on your desk, roughly as big as a sheet of A5 paper and as tall as it needs to be.
After I’ve got the base, I’m thinking it could be developed for different user groups, an example being the elderly. So I really like your idea about the cell phone functionality
Ok then, that sounds good. If I’m not currently focussing on adding wheels or lasers or penguins at the minute then I guess I’ll be ok with a Pi to handle everything, then maybe add an arduino if I do start to expand.
Another option…you used a old Android based phone or mp3 player with wifi.
Write an Android app using Eclipse, use google’s voice recognition, and then call Wolfram API from your Android app. (in an async task). You could then have the app speak back the results…most of these steps are crazy easy, as you can google how to do them.
If you wanted, you could call Anna’s Brain API instead (as your own robot’s identity, and it would take care of breaking down the speech, calling Wolfram (or others), and returning results. The brain is setup to be used this way. Byerley is doing it now, from a Rpi I think. Anna is doing it from Android. I think the Android option is better for what you are trying to do, and your finished product would be ultimately portable…and do a lot more than Wolfram. You could turn off the features you didn’t want. You could probably do the whole thing in 10 pages of code or so I would think, since you would not have a microcontroller or other hardware to deal with. You could build a face/avatar as well if you wished.
You’ld just have to learn how to write a small Android app and use 2 APIs…1 Google and 1 Anna.
Good luck whatever you choose. Sounds like a fun project. I’d love to see the finished Rpi one too, as I have not done that yet.