sto cercando di cambiare l'intonazione del testo parlato tramite SSML e .NET SpeechSynthesizer (System.Speech.Synthesis)SpeechSynthesizer .NET passo controllo
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
PromptBuilder builder = new PromptBuilder();
builder.AppendSsml(@"C:\Users\me\Documents\ssml1.xml");
synthesizer.Speak(builder);
Il contenuto del file è ssml1.xml:
<?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>
il tasso è riconosciuto: "8 libri" è speaken molto più lento rispetto al resto, ma non importa quale valore è impostato per "passo", non fa differenza! I valori consentiti possono essere trovate qui:
http://www.w3.org/TR/speech-synthesis/#S3.2.4
mi sto perdendo qualcosa o è cambiare il passo proprio non supportato dal motore di Microsoft Speech?
Fritz
Mi chiedo se c'è qualche altra API motore di discorso che può essere utilizzato con .NET e che elabora i comandi passo? – fritz
@fritz: non ci sono molte API .NET. Ci sono molte API native, non molte sono "libere", comunque. Ho usato ** eSpeak ** (non .NET) con successo - output migliore di 'System.Speech' ma non ha letto bene SSML. –
C'è un modo per cantare con il linguaggio .NET o qualsiasi alternativa? Sto cercando un'API che supporti le tre funzioni di controllo: 1) Discorso 2) Passo stabile preciso 3) Controllo della durata. C'è una cosa del genere? Ovviamente preferisco una API basata sulla musica. – Shimmy