I developed a free (WTFPL) open-source(https://github.com/AmarOk1412/GLaDOsReplica), modulable and multi-platform (Linux/ARM/Android) personal assistant called RORI which can be controlled using voice (google speech API or CMUSphinx) and can responds (with Google or Espeak or Festival).
RORI can, by now, play music, lock and shutdown the computer, generate a basic avatar, find some files on the hard drive (like a picture), send SMS, call someone, answer to questions, film (capture video) with a camera, record the desktop, control an Arduino or a Beagleboard, etc. And whatever you want if you develop a plugin to bring the feature. (I am currently writing the documentation).
I wanted RORI to be connected to a physical device with an expressive behavior, like and arm-shaped Robot, inspired by the famous robot from Valve's Portal games serie. (Which is also my favourite robot): GLaDOs !
First demonstration here : https://www.youtube.com/watch?v=tcwZJqQ56SE !
Details
All details are in the log :)
Components
1×
white beagleboard or a computer
to implement RORI in GLaDOs.
1×
camera
2×
TowerPro SG90 servomotors
for rotate the head
1×
HS-65HB servomotor
for the middle
1×
motor recovered in a CD lector/ HS-422 Hitec Servomotor
for the base
I am very happy today to say I am ready to present GLaDOs at the Sci-Fi Contest.
GLaDOs works (help me, she watchs me with her terrifying RGB LED and ask me if I want some cake) but one servomotor is missing (I got it this week-end) for the base.
Moreover, I will do alot of work to finish this project. Indeed, I must replace non free things like Google TTS/STT. I must develop RORI for a lot of other projects. And make a beautiful transport box too.
I want to say thank you to all people who help me (Nomis, peterboy, people who print my parts, and people who support me), Thank you.
I will continue this project or an other project (I have a lot of idea and I want to make a lot of other robots with a better finition).
OLD VIDEOS (Go to the third video if you want a recent one)
First video. Sorry it is in french. The User Interface is very ugly, but it is an old test. You can see voice control (using Google...), some questions, some function (mute, lock, navigate on the Internet, sort a forum and show some interesting topics, run some software).
The second video is in french too. It is the demonstration of the linux client (with the final interface). We can see new function like the generation of an avatar and the search of some pictures in the computer:
NEW VIDEO !!!
And a recent video where we can see RORI's server and me who control the computer with the RORI's Android application and the new text-to-speech using Google (not espeak or festival). It is the first video in english :). You can control the Android App with the voice (but it is difficult to film correctly, so i use the keyboard):
PS: Sometimes, RORI doesn't execute some function. It is normal, if you give an order to RORI and if RORI is hungry, it doesn't respond (or if RORI doesn't want to answer). And if the answer is too long, the text-to-speech doesn't work.
So, this is an other video where we
can see GLaDOs controlled by the Arduino, then we can see the camera,
then controlled by RORI and finally some photos :
Soon, a demonstration of GLaDOs with a motor in the base.
I
think this is the hardest part of the project. Thanks for all the team
to help me to realize this part. I have already use some 3D modeling
software like Solidworks or Catia, but they are not free, so they do not enter on my processus for this project.
We used Blender and FreeCAD to model all parts (not the head, because an other guy model it for me some month before).
Looks really good. I watched the video when you posted on youtube. Will you update this project log when the get the motor for the base installed?
On a somewhat unrelated note..... I was thinking about the voice, and how to get the text to speech engine to sound like GlaDOs. Have you thought about setting up J.A.C.K. with the output of your text to speech engine running through a DAW before going to the speakers?
Also with J.A.C.K. running you could take the incoming sound from your mic and run it though audio analysis. Maybe start making RORI understand inflection, tone, and cadence. IDK just a thought for the future.
Thanks :)
So, yes I will update the log when I fix the last motor (and I will film a video)/
And second thanks for J.A.C.K. I did not think and I think it is a good idea. Today, I use Google (for voice recognition and synthesis) and some prerecorded sound but I want to replace it (one day... one day...)
I am starting a new project pretty soon. It's an experiment in intelligent computing. I may be wading into some murky waters with this one, but from the research I've done, I feel like the idea has been made overly complicated in someways. I plan on building a framework, so that modules can be put into place. I've been thinking about using pypes (python based visual programming software) to help build that framework. I'll let you know things get rolling. I am currently in the process of procuring a multiprocessor server.
This week end I finish the build and record a video to show GLaDOs. Unfortunaly one motor (for the base) is missing and I have not the time to port all of the soft on the beagleboard.
I use Google text to speech or espeak or festival. So, the sound is not like GLaDOs. I hope I will replace it for a better tts (I don't know a free Text-To-Speech wich sounds like GLaDOs.)... but I want to finish the robot before.
On a somewhat unrelated note..... I was thinking about the voice, and how to get the text to speech engine to sound like GlaDOs. Have you thought about setting up J.A.C.K. with the output of your text to speech engine running through a DAW before going to the speakers?
Also with J.A.C.K. running you could take the incoming sound from your mic and run it though audio analysis. Maybe start making RORI understand inflection, tone, and cadence. IDK just a thought for the future.