The Fat Controller

The Fat Controller is an attempt to try and do something with the speach-to-text facilities within the Android OS. It's a pretty darn good speech-to-text engine that is ready for use strait out of the box.

The Fat Controller is a Java client which connects over TCP back to a desktop app (Thomas). Connect to the desktop app and then press the speak button and Android will capture a voice command from the user, this is translated to text and that text string is sent to the desktop app. The desktop app has a list of text strings and a shell command associated with each text string.

When I say "music please" The Fat Controller grabs the voice snippet (and this is the Google magic bit here), sends it off to Google where it is ran through their speech-to-text engine, and the text string of the audio is sent back to the Android device, for passing to Thomas on my desktop machine (this is magic because speech-to-text takes alot of computing power, and would take a long time on your mobile device so this is a much faster approach by Google, but only as long as you have Internet coverage/signal!). When the Thomas receives the text string "music please" from The Fat Controller it runs the paired shell command which starts Foobar (my music player of choice on Windows) playing from where I left off my the playlist.

Here Thomas is running and I have added a spech-text pair. When I say the phrase "bbc 1" into The Fat Controller and Thomas receives this string, it will launch the command statement;"C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe" http://www.tvcatchup.com/watch.html?c=1 This will open my Chrome browser, and browse to TV Catchup where I have an account and open the channel 1 stream, which in the UK is BBC 1. Far more advanced tasks can be controller by automating them with something like Sikuli and firing off a Sikuli script with a voice command.