Dev /
VoiceXMLEngine
Introduzione
Il VoiceXML è un linguaggio di markup, basato su XML, orientato alla creazione di interfacce utente vocali. Adotta come meccanismi di input il VR (Voice Recognition) o il DTMF (riconoscimento tasti del telefono), e comunica con l'utente umano mediante TTS (sintesi vocale Text To Speech) oppure file vocali pre-registrati. In questo modo viene a creare un layer di presentazione, detto VUI (Voice User Interface).
Così come l'XHTML presenta applicazioni grafiche web-based, il VXML può essere usato per creare applicazioni vocali eseguite su server IVR, permettendo l'accesso ai dati a partire da un dispositivo vocale (come un comune telefono, oppure via VoIP) mediante il quale controllare la navigazione audio svolta per mezzo di un browser VXML, installato in un media server di servizi telefonici.
Caratteristiche
- è il linugaggio ideale per la creazione di applicazioni vocali che sfruttino l' ASR o il TTS.
- come XHTML, separa la logica di presentazione da quella di programmazione
- struttura modulare e quindi scalabile
- consente di concentrarsi sull'interfaccia e rimane facilmente portabile su piattaforme differenti
Schema di funzionamento
Ambiente VXML
Lato Client: un comune apparecchio telefonico
Lato Server: un'interfaccia verso la rete telefonica (o VoIP), un componente TTS, e uno per il riconoscimento vocale.
L'interprete VXML dialoga con queste interfacce in maniera totalmente trasparente.
Struttura del linguaggio
(in costruzione)
Trattandosi di un estensione del linguaggio di mark-up estendibile per eccellenza (XML?), il VXML ne eredita la sintassi rigida e l'estendibilità (la X nel nome sta appunto per eXtensible).
Tutorial
Volendo evitare di starsi a studiare le specifiche, sono disponibili alcuni buoni tutorial, come ad es.
- quello di Bevocal
- Guida VoiceXML di Html.it, che mostra anche interessanti esempi
- Corso VoiceXML anch'esso in italiano, contiene anche una interessante sezione storica
Generazione delle pagine VoiceXML
L'uso di XML come sintassi del linguaggio di navigazione vocale, non è proprio un capolavoro di leggibilità... ed allora, ben vengano i tools di sviluppo!! Ad esempio:
- OpenVXML è un editor VoiceXML che si appoggia alla piattaforma Eclipse
- SpeakRight è una applicazione java annidata in una servlet, che genera dinamicamente le pagine VoiceXML in base ad una rappresentazione più compatta dell'interazione desiderata
- VoiceXML PHP Framework fornisce un insieme di classi e moduli che facilitano l'uso di PHP per lo sviluppo di applicazioni VoiceXML. Noto anche come PHPVoice
- HAWHAW è una libreria di classi PHP che, partendo da una unica codifica XML, permette la generazione di pagine in molteplici markup, ossia HTML, WML, XHTML Mobile Profile (WAP 2.0), iMode (cHTML), HDML, MML, VoiceXML
Leggere il Web
Le pagine scritte in VoiceXML possono derivare da equivalenti pagine HTML (come ad esempio nel caso di un lettore di feed RSS), ed allora due sono i casi: o si tenta di sfruttare il markup per produrne uno equivalente che migliori la qualità dell'audio prodotto (Sable, SSML), oppure... non resta che eliminare tutti i tag HTML, ed affidarsi completamente all'analisi prosodica offerta dal motore TTS in uso. Nel caso si intraprenda questa seconda strada, possono tornare utili
- Converting HTML to ASCII
- Convert HTML To ASCII With PHP
- SimpleHtmlDom - un parser scritto in PHP5+, che supporta HTML non valido, e fornisce un modo molto semplice di gestire gli elementi HTML
Categorie: SapienBlog
Pagine che puntano a questa: