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
Come migrare da una form non tipizzata a una form tipizzata in Angular
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Eseguire operazioni sui blob con Azure Storage Actions
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare un service principal per accedere a Azure Container Registry
Generare file PDF da Blazor WebAssembly con iText
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Utilizzare database e servizi con gli add-on di Container App
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- Ottimizzazione dei block template in Angular 17
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!