While good software is essential for a working voice recognition system, a quality microphone can be just as important. If your mic picks up too much background noise, it won’t work well for voice recognition, especially if you’re trying to use it in a big room.
Choosing a Mic
When it comes to choosing a microphone, there are several options. If you only want to be able to voice-control your home automation system while sitting at a computer, you can probably get away with a simple headset mic. These are easy to wear, and they tend to be extremely good at conveying speech to the computer. Try to find one that connects via USB, since this will usually provide better sound quality. Amazon has a selection here.
If you’ll be using your mic within a short distance of your home automation server, look for a good USB microphone with a noise-canceling feature. This will allow the mic to pick up your voice without you having to physically speak into it. I use this one, but there are probably newer, cheaper models on the market. If the cord is too long to reach to your computer, try a USB extension cord, or even two such cords plugged into each other.
If you need a microphone far away from your computer, you’ll need to go with a non-USB microphone. This will plug into the microphone jack on you computer. Look for a mic that’s designed to pick up conversation in a room, rather than a lapel model. To connect the mic to your computer, either cut the cord and splice in a long length of speaker wire, or go to Radio Shack and get an adapter that allows you to connect speaker wire without damaging the mic cord.
If you decide to go with a whole-room mic, I would suggest mounting it on the ceiling. I used heavy duty mounting squares combined with duct tape, which seems to have done a pretty good job so far. If your microphone is at all directional, make sure that it is pointing towards the most important part of the room when you install it.