The 3D Head

The 3D Head

I always thought it would be cool if I had a character that talks to me being displayed on a secondary monitor. I thought about it for a while, and I decided to start implementing it in June 2005.

I wanted the program to respond to commands such as "Open the web browser.", "Check my email.", "What time is it?", and "How are my stocks doing?". I was sane enough not to attempt to implement voice recogntion on my own so I used the Microsft SAPI. If you are not familiar with SAPI, it is an API that provides voice recognition and text-to-speech functionality. I created an animated head and interfaced it with SAPI so its mouth movements would be synchronized with the output of the text-to-speech engine.

The program was not difficult to write at all. I finished it in about a week. I have only added a few features since then. If you drag a text file and drop it on the head, it will read the contents of the file. I also worked on a console that pops up. the head speaks any text entered in the console.

The Result

The result of my efforts is primarily a novelty. It has no practical use. However, it is a good conversation piece, and people find it entertaining.

The head is staring at me from my second monitor as I am writing this. It keeps mistaking ambience for my commands. It gets incredibly annoying so I find myself shutting it down often.

Downloads

This program requires that you have SAPI installed. I have provided a SAPI installaion package here. If you already have an application that uses SAPI text-to-speech and speech recognition then you don't need this. The file is pretty massive (~50 MB) so you'll probably want to make sure that you need to install it before beginning the download.

You need a microphone to make full use of this program. You must say "Hal" before any command. Here are a few examples that this version understands:

"Hal, what time is it?"
"Hal, what day is it?"
"Hal, what's up?

You can also drag and drop text files over the application's window and the head will read them. Please note that the voice will be whatever you have set as your SAPI default voice.

3D Head Demo (zip file)