mer*_*tc. 7 .net c# text-to-speech
我想为我的交互式训练集制作一个文本到语音的程序.我用过System.Speech图书馆,但声音总是女性.我想用一些男性的声音读一些句子,一些用女性的声音读.(这两个声音是我唯一需要的声音.)
我正在使用Windows 8 Pro和Visual Studio 2010.我只能看到一个语音包,即Microsoft Zira Desktop.
我的代码如下.如何配置男声的使用?
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Rate = 1;
synth.Volume = 100;
synth.SelectVoiceByHints(VoiceGender.Male,VoiceAge.Adult);
synth.SpeakAsync(label18.Text);
Run Code Online (Sandbox Code Playgroud)
小智 6
您首先需要知道安装了哪些语音,您可以通过SpeechSynthesizer类的GetInstalledVoices方法执行此操作:http: //msdn.microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer.getinstalledvoices.aspx
一旦你确定你已经安装了男声,那么你只需通过SelectVoiceByHints切换请参阅:http: //msdn.microsoft.com/en-us/library/ms586877
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);
}
Run Code Online (Sandbox Code Playgroud)
有关详细说明,请参阅此内容: 如何在C#中更改语音合成器的性别和年龄?