Windows comes with built-in speech recognition and text-to-speech functionality, which you can easily implement in your applications. Just pass a string of text, and it will be read out loud by the default voice - even let users choose another male/female voice installed! 
using System.Speech.Synthesis; ...And declare a "speech synthesizer" reader in your method: SpeechSynthesizer rdr = new SpeechSynthesizer();Caveat - avoid the Speak() method: it will "hang" your application until it is done reading. Use instead the SpeakAsync() method to read your text in a separate (background) process.
rdr.SpeakAsync( "Hello from a robotic voice" );if( txt.SelectedText.Length > 0 ) // Some text selected
rdr.SpeakAsync( txt.SelectedText );
else // Read everything
rdr.SpeakAsync( txt.Text );rdr.Rate = -10; // lowest speed, painfully slow
rdr.Rate = 10; // fastest speed, incomprehensiblerdr.Volume = 50; // half the current OS sound level