Corsi on-line

eSpeak.js: da testo a voce con JavaScript

eSpeak.js è una soluzione scritta in linguaggio JavaScript che utilizza la libreria Open Source eSpeak per il text-to-speech, in sostanza si tratta di uno strumento per la sintetizzazione vocale che converte un contenuto testuale leggibile rendendolo ascoltabile all’utente; eSpeak è stato per lungo tempo un progetto basato sulla command line, in Windows e Linux, con porting per altri sistemi operativi tra cui Android, (Mac) OSX e Solaris.

Cattura

Ora, grazie  a eSpeak.js, la libreria potrà funzionare anche su Web platform (e quindi all’interno di una Web application) tramite l’apposita API (Application Programming Interface) Web Speech le cui specifiche per JavaScript sono state stabilite dal W3C (World Wide Web Consortium); si tratta di una soluzione molto più pratica per gli sviluppatori rispetto a quella basata su SSML (Speech Synthesis Markup Language) che comunque non era mai stata completata.

La possibilità di realizzare una versione di eSpeak orientata al Web è stata possibile anche grazie all’evoluzione dei browser per la navigazione su Internet; in sostanza i coders del progetto hanno deciso di utilizzare il compilatore denominato Emscripten per la conversione di codice C e C++ in asm.js, un “intermediario” lato client che è a sua volta un subset di JavaScript grazie al quale permettere ai browser di far girare dei software per computer come se fossero delle Web App.

Uno dei vantaggi derivanti dall’utilizzo di tale subset risiede nel fatto che quest’ultimo è stato ottimizzato per tutti i browser più diffusi garantendo perfermances paragonabili a quelle della applicazioni native e una riproduzione vocale praticamente istantanea; in sostanza la riscrittura in JavaScript del progetto basa il suo funzionamento sulla funzione espeak_Synth() che garantisce una sintetizzazione progressiva, ciò significa che la conversione a voce avverrà indipendentemente dalla lunghezza del testo passato come parametro ad essa.

Tra le localizzazioni supportate da eSpeak vi è anche quella italiana, attualmente il package di eSpeak.js pesa circa 2 Mb ma dovrebbe garantire tutte le combinazioni linguistiche necessarie per la sintesi vocale.

Via eSpeak.js

Post correlati
I più letti del mese
Tematiche