Eating Raspberry Pi.

Raspberry Pi, a great platform. But what to do with it? I really like how they were able to develop such a small computer. Only the minimum required features are added but somehow everybody is able to run the greatest applications on it. I’ve even seen people running OpenElec and XBMC on it. But in my opinion that is just one bridge too far. The performance of HD video seems great, but starting a video or skipping over a video just doesn’t seem right yet.

So what am I going to do with it?

I’ve always enjoyed the science fiction movies in which there was a artificial intelligence that people can interact with. Often, these intelligences are presented with some kind of display that shows cool and funky high tech screensavers. It always looks nice. Because I am also interested in artificial intelligence, it seems right to integrate the Raspberry Pi in one of my research projects.

The project I am working on at the moment is related to a speech interface based on the Google speech API. First, a system or device records speech and directly forwards it to Google for text recognition. The second step in the process is to make some kind of sense of the text and let a computer execute actions based on what is requested of it.

So this got me thinking. Wouldn’t it be great if the Raspberry Pi is responsible for this first step? It costs quite some power to keep a huge computer running all the time when the only thing it needs to do is wait for voice input and send it out to Google.

This could be done using the Pi, which after/during the translation gives a (Wake up On LAN) signal to a more powerful system for further analysis. Building such a construction ensures that only a 4W device needs to be active instead of a forty-hundred W computer.

This brings me to my initial targets:

  1. Ensure the Pi can detect when it is spoken to.
  2. Make the Pi activate a display on which it can indicate it is listening.
  3. Let the Pi send out recorded audio to a speech-to-text engine. Probably Google.
  4. Let the Pi wake a more powerful computer system.
  5. Determine some kind of ‘intelligent looking’ user interface that has meaning but also looks cool.

Point one might be the toughest because it needs to know when it is spoken to. It might be a good idea to come up with some kind of name that can easily be distinguished from other text.

My guess on how I would implement this:

  • Fetch a Raspberry SD image that is able to execute Mono applications.
  • Find out how to run full screen OpenGL powered MonoGame applications.
  • Determine the best way to record audio on the Raspberry, both in terms of hardware and software.
  • Find out how to detect a name trigger in an audio stream.
  • Find out how to send a wake up on LAN signal.
  • Find out how to enable/disable a HDMI connected display from within a Mono application.
  • Interact with the Google speech API.
  • Design a ‘fitting’ user interface.

     

Let’s make this my first experiment towards Donald A. Norman’s ‘Invisible Computer’.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s