我正在尝试编写一个用多种语言读出文本的应用程序 - 我已经用一些非常简单的代码用英语说话,但我现在需要让相同的应用程序在法语。 我在代码中所做的一切都是从这个
开始的 SpeechSynthesizer speaker = new SpeechSynthesizer();
然后
speaker.Speak("Hello world.");
用英语读出来 - 我只需要它也可以用法语
它证明很难得到示例代码 - 任何人都有任何线索?
我也试过下载微软语音平台,这样我就可以让Excel或Word做同样的事情,但平台不能安装在我的系统上(Office 2016,Windows 10),谷歌搜索它没有给我任何答案
答案 0 :(得分:0)
.Net使用的默认语音Synth只使用Windows附带的[SAPI兼容] TTS引擎,因此您获得的语音语言将取决于安装的操作系统版本。
我还没有切换到Windows 10,但是在Windows 7的时代,你得到了微软Sam"也许默认情况下还有一个其他英语语音。
您需要查找和安装其他语言的语音才能阅读文本(大多数需要许可证)或使用不同的语音合成方法。
L&H法语语音适用于download here。我之前没有使用过该网站,但VirusTotal says法语下载是安全的。我无法保证。
安装完语音后,使用speaker.SelectVoice()
按名称选择语音(或者更好,speaker.SelectVoiceByHints()
,这样您就可以指定所需的文化。)
包括评论中提到的详细信息;另一种方法是使用this answer中讨论的Google Translate TTS Api。示例网址:(Bonjour le Monde)
http://translate.google.com/translate_tts?tl=fr&q=Bonjour%20le%20monde