Pochi minuti fa ho caricato su MSDN Code Gallery la nuova versione della mia libreria per il Text-To-Speech basato sul servizio Microsoft Translator Service.
La novità più significativa è l’aggiunta delle versioni asincrone dei metodi. Ad esempio, la controparte asincrona di GetSpeakStream è il nuovo metodo GetSpeakStreamAsync, che ritorna immediatamente e, una volta recuperato lo stream contenente il parlato, genera l’evento GetSpeakStreamCompleted. Ci sono poi i metodi Speak e SpeakAsync, che si occupano di ottenere lo stream tramite il servizio Microsoft e di riprodurlo automaticamente, semplificando quindi l’utilizzo della libreria:
// Per ottenere un Application ID, visita la pagina http://msdn.microsoft.com/en-us/library/ff512420.aspx
SpeechSynthesizer speech = new SpeechSynthesizer(APP_ID);
speech.SpeakCompleted += new EventHandler<SpeechEventArgs>(speech_SpeakCompleted);
string text = "Ti auguro una buona giornata!";
string language = "it";
speech.SpeakAsync(text, language); // Questo metodo ritorna immeditamente
private static void speech_SpeakCompleted(object sender, SpeechEventArgs e)
{
Console.WriteLine("Operation completed.");
}
Ma c’è dell’altro: ho pubblicato la mia libreria anche su NuGet, dove è disponibile con il nome di Text-To-Speech Library:
Questa è la mia prima pubblicazione. Al momento la libreria è disponibile solo per .NET 4.0, ma nei prossimi giorni realizzerò il porting per Silverlight e .NET Micro Framework.
Per maggiori informazioni, potete fare riferimento alla pagina del progetto su MSDN Code Gallery.