In my previous post I outlined a 'morning of the future'. Obviously that is the end goal and will take quite a long time to become reality. The issue really becomes tricky when wiring home appliances to the system. What I will focus on first is the speech end of the application. While I have read of a number of implementations of home automation, I haven't seen too many attempts to use speech.
My initial goal will be to add a server to my house containing Microsoft Speech Server to handle the speech recognition. I could of course write my application using SAPI but MSS provides me with a much easier way to combine recorded prompts and grammars with application flow. Once I hook up to MSS, changing the functionality of the speech application will be relatively easy.
In my first attempt I will not actually automate anything. The application will focus on two things.
1) Control of my telephone
2) Speakers and microphones placed throughout my house that allow me to communicate with the server without a phone line
The second bullet is the more complicated of the two because it will not be supported out of the box. I will talk about this from a hardware perspective in a later post. There will be a rather complicated but interesting software piece that I will write to enable this, but unfortunately right now I cannot give too many details of how it will work.
In terms of controlling my telephone, the app will be able to do the following.
- When someone I know calls, the system will announce who is calling over the speakers. We can then tell the system whether to pick up the call or whether to leave a message for the individual - such as "Hello mom. I am changing the baby right now and will call you back."
- When we leave the house, we can tell the system when we will be back. If someone we know calls, the system will tell the person when we will be back and offers to leave a message. If the person is not recognized, he/she will receive the standard 'unable to come to the phone' message.
- When an unknown caller calls, we can ask the system to get the name of the person calling before 'picking up'. This can help get rid of telemarketers.
The speakers located around the house will enable us to do the following
- From any room I can ask what the weather forecast is and receive it.
- If I open the fridge and notice that we are out of something, I can tell the system to add it to my grocery list. The list is then downloaded to my palm pilot so the next time I go to the grocery store I have a list of everything needed.
- I can use the system as an intercom to communicate with someone in a room on the other end of the house.
- I can ask for a list of news stories tailored to my preferences, though I am not sure whether I will be able to tailor them by voice in this version.
- Other internet queries that I can ask the system.