.net SpeechSynthesizer语言

时间:2015-11-09 01:32:56

标签: .net text-to-speech

我正在尝试编写一个用多种语言读出文本的应用程序 - 我已经用一些非常简单的代码用英语说话,但我现在需要让相同的应用程序在法语。 我在代码中所做的一切都是从这个

开始的
    SpeechSynthesizer speaker = new SpeechSynthesizer();

然后

    speaker.Speak("Hello world.");

用英语读出来 - 我只需要它也可以用法语

它证明很难得到示例代码 - 任何人都有任何线索?

我也试过下载微软语音平台,这样我就可以让Excel或Word做同样的事情,但平台不能安装在我的系统上(Office 2016,Windows 10),谷歌搜索它没有给我任何答案

1 个答案:

答案 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