SAPI 5语音合成和C#(SAPI 5 voice synthesis and C#)

2019-07-30 10:47发布

我已经安装了新SAPI5声音。 在语音程序的计算机设置为新的语音和可视可使用。 但我的程序无法找到它。 为了找到它,我使用的这部分代码,我用System.Speech.Synthesis命名空间。

SpeechSynthesizer s = new SpeechSynthesizer();
foreach (InstalledVoice v in s.GetInstalledVoices())
{
    st += v.VoiceInfo.Name+"\n";
}

MessageBox.Show(st);

发现的唯一的声音是微软安娜。 我对speeking代码如下:

s.SelectVoice("Eliska22k");//name of the voice is Eliska22k

s.Speak("ahoj");

我使用C#4和我的Windows Vista 32位。 哪里是我的错? 在代码中或其他地方?

编辑:请注册表值:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\语音\声音

DefaultTokenId:HKEY_LOCAL_MACHINE \ SOFTWARE \微软\语音\声音\ TokenEnums \ Infovox桌面V2.2 \ Eliska22k

DefaultTTSRate:0

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\语音\声音\ TokenEnums \ Infovox桌面V2.2 \ Eliska22k

405:Eliska(捷克)SAPI5

CLSID:{F8E89351-F6B9-4C98-91F9-A967BA752655}

VoiceData:Eliska22k

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\语音\声音\ TokenEnums \ Infovox桌面V2.2 \ Eliska22k \属性

年龄:成人

AudioFormats 18

性别女

语言:405; 5

名称:Eliska22k

Answer 1:

你可以试着改变你的.NET项目的目标平台和框架的版本。 一些音色仅适用于x86的支持。



文章来源: SAPI 5 voice synthesis and C#