Síntesis de voz SAPI 5 y C #
He instalado la nueva voz de SAPI5. En la configuración de la computadora, el programa de voz es una nueva voz visible y disponible para usar. Pero mi programa no puede encontrarlo. Para encontrarlo, estoy usando esta parte del código, usoSystem.Speech.Synthesis
espacio de nombres.
SpeechSynthesizer s = new SpeechSynthesizer();
foreach (InstalledVoice v in s.GetInstalledVoices())
{
st += v.VoiceInfo.Name+"\n";
}
MessageBox.Show(st);
La única voz encontrada es Microsoft Anna. Mi código para hablar es el siguiente:
s.SelectVoice("Eliska22k");//name of the voice is Eliska22k
s.Speak("ahoj");
Estoy usando C # 4 y tengo Windows Vista 32 bit. ¿Dónde está mi error? ¿Está en el código o en cualquier otro lugar?
EDITAR: valores de registro solicitados:
enHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices
DefaultTokenId: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k
DefaultTTSRate: 0
enHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k
405: Eliska (checo) SAPI5
CLSID: {F8E89351-F6B9-4C98-91F9-A967BA752655}
VoiceData: Eliska22k
enHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Voices \ TokenEnums \ Infovox Desktop v2.2 \ Eliska22k \ Attributes
Edad: adulto
AudioFormats 18
Género femenino
Idioma: 405; 5
Nombre: Eliska22k