SpeechSynthesizer synth = new SpeechSynthesizer();
synth.SetOutputToDefaultAudioDevice();
synth.Speak("This example demonstrates a basic use of Speech Synthesizer");
为了找出安装了哪些俄语语音,请运行代码
var voices = synth.GetInstalledVoices(new CultureInfo("ru-RU"));
// если известно имя
synth.SelectVoice("Microsoft Server Speech Text to Speech Voice (ru-RU, Elena)");
// установить первый попавшийся
synth.SelectVoice(voices[0].VoiceInfo.Name);
对于综合,使用类
SpeechSynthesizer。要支持俄语,请调用该方法SelectVoice()并指定支持俄语的语音。可用投票列表由方法返回GetInstalledVoices()。新的声音可以添加到系统中。声音的例子之一 - Katerina (ScanSoft Katerina Full 22kHz) 可以取在这里,例如这里有大量选票http://forum.ru-board.com/topic.cgi?forum=5&topic=21094
.NET 有一个标准的SpeechSynthesizer类。
其使用示例:
为了找出安装了哪些俄语语音,请运行代码
如果没有俄语语音,则可以安装语音。要安装俄语语音,请下载包含
ru-RU.如果安装的语音不起作用,该指南可以帮助您。
然后你应该使用方法来安装
SelectVoice。假设我们有俄语语音,那么您可以这样做:
或使用方法
SelectVoiceByHints。我也对这个话题很感兴趣,当时我在Github上找到了gunthercox的一个比较有趣的解决方案: https ://github.com/gunthercox/SpeakForMe
它的本质是基于 Google Speech API 将语音分解成音素来合成语音。这是其中一种方法——我个人用它来创建一个用我的声音说话的聊天机器人 :)
PS 也 C# 有一个用于语音合成的内置类:SpeechSynthesizer。
最简单的带有说话按钮的记事本:将 textBoxText 添加到表单,然后添加 buttonSpeak。在代码中我们连接System.Speech.Synthesis,在表单中我们创建一个对象
我们在按钮上挂了一个处理程序,它包含读取短语的代码: