This MSDN page handles what you ask pretty well. For reference, I will post the code you included. The final for the loop is what contains
Using e.Result.Alternates is the official way to get other possible words.
If this does not give you sufficient results, this MSDN page provides the necessary information. To change the level of trust rejection, you need to use UpdateRecognizerSetting on SpeechRecognitionEngine . Setting the value to 0 will cause each result to appear in Alternates along with confidence levels that you can sort to get the top 10.
source share