Speech recognition is the process of converting a speech signal to a sequence of words, by means of an algorithm implemented as a computer program. For use with computers, analog audio must be converted into digital signals. This requires analog-to-digital conversion. For a computer to decipher the signal, it must have a digital database, or vocabulary, of words or syllables,and a speedy means of comparing this data with signals. The speech patterns are stored on the hard drive and loaded into memory when the program is run. A comparator checks these stored patterns against the output of the A/D converter.
Click the image to enlarge
In practice, the size of a voice-recognition program's effective vocabulary is directly related to the random access memory capacity of the computer in which it is installed. A voice-recognition program runs many times faster if the entire vocabulary can be loaded into RAM, as compared with searching the hard drive for some of the matches. Processing speed is critical as well, because it affects how fast the computer can search the RAM for matches.
All speech-recognition softwares make errors. Loud noises in the background due to external conversations ,change of accent,broken words,fast speech can produce false input. Much of this can be avoided only by using the system in a quiet room. There is also a problem with words that sound alike but are spelled differently and have different meanings -- for example, "hear" and "here."
Below is a demo of the Speech Recognition Software that comes packed along with the new Windows Vista. Though, I must warn that the software may not be well equipped to handle speech recognition.