Speech is one of the most fundamental ways to interact. When it gets to computers it is no different. If an application can be controlled only by way of voice commands then the opportunity that lies is unlimited. Even though the idea of using speech as an input mechanism for an application is not new there are not a lot of applications that use speech as input. In other words, speech is still a big opportunity that is yet to be explored.
Speech recognition can be of two types which are based on the grammar that the recognition is based on. (Grammar is, in other words, the list of desirable recognition outputs that can be generated.) An application can limit the possible combination of the words spoken by choosing proper grammar.
For more information regarding the same, refer to the following link:
In this article, you will get to know how to program speech recognition, speech to text, text to speech and speech synthesis in C# using the System.Speech library.