Dev /

VocalRSSReader

Un feed RSS è una tecnologia Web che permette di tenere sott'occhio gli aggiornamenti di una collezione di siti remoti, mediante stumenti o siti aggregatori. Integrando questa tecnologia con quelle del Text to Speech, del VoIP e dell'IVR (ad esempio, basato su VoiceXML), possiamo pensare di far leggere da una voce sintetica le pagine recuperate mediante un RSS reader, e quindi renderne disponibile il contenuto in forma audio, ascoltabile a seguito di una chiamata VoIP ad un risponditore automatico, la cui funzione è quella di guidare il chiamante alla scelta del feed RSS desiderato.

RSS reader

Dato che un elemento essenziale dello sviluppo descritto, è appunto il codice necessario a recuperare gli articoli RSS, sviluppiamo di seguito un elenco di riferimenti a questo tipo di librerie, suddiviso per i diversi linguaggi. Dato che, verosimilmente, il client RSS verrà realizzato in forma di CGI, l'analisi è ristretta ai linguaggi di scripting.

Festival

Il motore di TTS (text-to-speech) sul quale stiamo attualmente lavorando, è Festival.

Purtroppo non supporta direttamente il linguaggio SSML, che è un sottoinsieme del VXML, ma il SABLE.

Ecco le istruzioni per la sua installazione in ambiente Ubuntu.

PHP

Perl

Directory

XML, HTML e XSLT

Lo standard XML è adottato dai documenti RSS, ma essi contengono quasi sempre solo il titolo e una breve descrizione degli articoli. Il nostro obiettivo è riuscire a leggere la notizia intera, che di solito è contenuta in una pagina HTML.

Un documento in formato XML può essere tranquillamente trasformato in un altro tipo di documento XML, mediante l'uso del linguaggio XSLT. Questa operazione ci consente di passare direttamente da un feed RSS ad un documento in un linguaggio di markup per la sintesi vocale, quale ad esempio l'SSML del W3C.

La stessa cosa è ancora possibile per una pagina in XHTML, dato che tale linguaggio altro non è che l'applicazione delle regole sintattiche dell'XML all'HTML.

Purtroppo tale operazione diventa impossibile sulla maggior parte delle pagine HTML, per almeno tre motivi:

* Non sono documenti validi X(HT)ML
* Contengono errori di programmazione
* Non ci interessa convertire tutta la pagina, ma solo il testo della notizia che stiamo ascoltando

Queste considerazioni ci portano a scrivere un CGI con il triplice compito di effettuare il parsing di un documento HTML, eliminare le parti che non interessano, ed ottenere da esso un documento XML valido, sul quale poi effettuare tutte le conversioni richieste.

Esiste tuttavia un programma adatto allo scopo: Tidy che come suggerisce il nome, ha un'opzione per pulire il codice HTML e restituire un documento XHTML ben formato.

Categoria: SapienBlog


Pagine che puntano a questa: