Estoy intentando cambiar el tono del texto hablado a través de SSML y .NET SpeechSynthesizer (System.Speech.Synthesis)SpeechSynthesizer .NET control de tono
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
PromptBuilder builder = new PromptBuilder();
builder.AppendSsml(@"C:\Users\me\Documents\ssml1.xml");
synthesizer.Speak(builder);
El contenido del archivo ssml1.xml es:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ssml:speak version="1.0"
xmlns:ssml="http://www.w3.org/2001/10/synthesis"
xml:lang="en-US">
<ssml:sentence>
Your order for <ssml:prosody pitch="+30%" rate="-90%" >8 books</ssml:prosody>
will be shipped tomorrow.
</ssml:sentence>
</ssml:speak>
la tasa se reconoce: "8 libros" se speaken mucho más lento que el resto, pero no importa qué valor se establece para "terreno de juego", no hace ninguna diferencia! Los valores permitidos se pueden encontrar aquí:
http://www.w3.org/TR/speech-synthesis/#S3.2.4
Me estoy perdiendo algo o está cambiando el terreno de juego no soportado por el motor de voz de Microsoft?
Fritz
Me pregunto si hay alguna otra API de motor de voz que puede ser utilizado con .NET y que procesa órdenes de tono? – fritz
@fritz: no hay muchas API .NET. Hay muchas API nativas, aunque muchas de ellas son "gratuitas". He usado ** eSpeak ** (no .NET) con éxito, mejor resultado que desde 'System.Speech', pero no ha leído bien SSML. –
¿Hay alguna manera de cantar con .NET speech o cualquier otra alternativa? Estoy buscando una API que admita las tres funciones de control: 1) Habla 2) Precisión estable del tono 3) Control de duración. ¿Hay tal cosa? Obviamente prefiero una API impulsada musicalmente. – Shimmy