I would like to change the gender and age of the voice of System.Speech
in c#. For example, a girl of 10 years but can not find any simple example to help me adjust the parameters.
First, check which voices you have installed by enumerating the GetInstalledVoices
method of the SpeechSynthesizer
class, and then use SelectVoiceByHints
to select one of them:
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer()) { // show installed voices foreach (var v in synthesizer.GetInstalledVoices().Select(v => v.VoiceInfo)) { Console.WriteLine("Name:{0}, Gender:{1}, Age:{2}", v.Description, v.Gender, v.Age); } // select male senior (if it exists) synthesizer.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Senior); // select audio device synthesizer.SetOutputToDefaultAudioDevice(); // build and speak a prompt PromptBuilder builder = new PromptBuilder(); builder.AppendText("Found this on Stack Overflow."); synthesizer.Speak(builder); }
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voiceage.aspx http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voicegender.aspx
Did you take a look at this ?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With