Emscripten è un progetto molto interessante che traduce i sorgenti da C++ in JavaScript sfruttando LLVM
Emscripten è un convertitore di compilato LLVM in javascript, ciò significa che, almeno potenziamente, si può effettuare il porting in javascript di qualsiasi applicazione scritta in un linguaggio che compila in LLVM.
Quello che è stato ampiamanete dimostrato è il perfetto funzionamento con sorgenti in C++. Esistono infatti numerosi esempi di porting effettuati con Emscripten da C++ a Javascript. Tra i più popolari ci sono quelli Alon Zakai, creatore di speak.js, un porting in JavaScript per il browser di eSpeak: la popolare applicazione per la sintesi vocale, scritta in C++.
Lo script può essere integrato sulle pagine web in HTML5 per realizzare elementari servizi di text-to-speech. Supporta il testo dinamico inserito nei form o quello statico via HTML.
L’utilizzo di speak.js è possibile con Chrom*, Firefox, Opera e Safari, mentre Internet Explorer non lo supporta. È possibile controllare alcuni parametri nella generazione dei file .WAV: ampiezza, tono, velocità e distanza tra le singole parole.
Un altro progetto molto famoso di Zakai è il porting del famoso videogames Doom, tradotto dal linguaggio C.
Keywords: text-to-speech, Emscripten, c++, javascript LLVM, macchine virtuali, porting, speak.jz, Alon Zakai.