SAPI 5语音合成和C#

问题描述 投票:4回答:1

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

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

MessageBox.Show(st);

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

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

s.Speak("ahoj");

我正在使用C#4,我有32位的Windows Vista。我的错误在哪里?在代码或其他地方?

编辑:请求的注册表值:

在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices中

DefaultTokenId:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k

DefaultTTSRate:0

在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k

405:Eliska(捷克)SAPI5

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

VoiceData:Eliska22k

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k \ Attributes

年龄:成人

AudioFormats 18

性别女

语言:405; 5

姓名:Eliska22k

c# text-to-speech sapi
1个回答
0
投票

您可以尝试更改.NET项目的目标平台和Framework版本。某些声音仅支持x86。

© www.soinside.com 2019 - 2024. All rights reserved.