这就是我要做一个简单的“文本转语音”应用程序的过程。这很好。
static void Main(string[] args)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
string file = @"C:\test.wav";
ss.SetOutputToWaveFile(file, new SpeechAudioFormatInfo(16000, AudioBitsPerSample.Sixteen, AudioChannel.Mono));
PromptBuilder pb = new PromptBuilder();
pb.StartVoice("Microsoft David Desktop");
pb.AppendSsmlMarkup("Hello world");
pb.EndVoice();
ss.Speak(pb);
Console.ReadLine();
}
现在我的问题是我是否可以使用Microsoft语音以外的语音大声朗读文本。像L&H Michael或Michelle一样,这些声音都符合SAPI。
我尝试与L&H Michael或Michelle一起使用,但是该应用程序未使用这些声音,而是使用了默认的Microsoft声音。
答案 0 :(得分:0)
我主要使用SAPI SDK 11或System.Speech,但是否尝试过使用.GetInstalledVoices来确保已安装了期望的内容,然后使用.SelectVoice进行设置。这是.GetInstalledVoices:https://msdn.microsoft.com/en-us/library/system.speech.synthesis.voiceinfo(v=vs.110).aspx的示例,而这是从此处堆栈:how I can change the voice synthesizer gender and age in C#?开始的。如果您想要特定的声音,请使用.SelectVoice而不是.SelectVoiceByHints:
synthesizer.SelectVoice("Microsoft Server Speech Text to Speech Voice (en-US, Helen)");