In WinRT 8.1 sono state introdotte le Windows.Media.SpeechSynthesis API per permettere di trasformare un testo in uno stream audio, con caratteristiche di voce e pronuncia simile ad un essere umano, funzionalità nota genericamente come text-to-speech (TTS).
Per utilizzare le API è sufficiente creare un'istanza di SpeechSynthesizer e usare il metodo SynthesizeTextToStreamAsync a cui passare il testo da trasformare.
var speechSynth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); SpeechSynthesisStream audioStream = await speechSynth.SynthesizeTextToStreamAsync("Benvenuti!"); // media è un MediaElement per riprodurre lo stream audio media.SetSource(audioStream, audioStream.ContentType); media.Play();
Lo stream restituito da SynthesizeTextToStreamAsync può essere semplicemente riprodotto con un oggetto MediaElement.
Le API sono ricche di funzionalità e tra l'altro è supportato il Speech Synthesis Markup Language (SSML): un linguaggio di markup con cui si può dettagliare le caratteristiche del suono, durata, frequenza e altro per ogni singola parola.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Copilot con Azure Cosmos DB
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Gestire liste di tipi semplici con Entity Framework Core
Disabilitare automaticamente un workflow di GitHub (parte 2)
Effettuare il refresh dei dati di una QuickGrid di Blazor
Usare le navigation property in QuickGrid di Blazor
.NET Conference Italia 2024
Gestire la cancellazione di una richiesta in streaming da Blazor
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Generare un hash con SHA-3 in .NET