VoiceXML Italian User Group

Home page  VoiceXML Links  VoiceXML Tutorial  News dai Working Groups Voice Browser e Multimodal Interaction del World Wide Web Consortium  Articoli  Accessibilita' del web mediante la voce

Libri Voice & Speech technologies  La nostra Newsletter  Il nostro Forum  Contatti  Gli eventi a cui lo User Group ha partecipato o partecipera'  Parlano (speriamo bene:-)) di noi...


TUTORIAL


LEZIONE 3.  La prima e "classica" applicazione VoiceXML

In questa terza, ed ahime' tanto attesa, lezione introdurremo i concetti basilari per creare una applicazione VoiceXML, facendo ricorso al primo e classico esempio "Hello World".
Segue il semplice codice necessario per far dire al ns. PC "Hello World ! This is my first VoiceXML application":





Tags, Elementi ed Attributi

Le prime due righe dell'applicazione



sono obbligatorie per qualsiasi applicazione VoiceXML. La linea 1 e' molto importante in quanto indica, sia a chi visualizza il codice sia a al software che lo deve eseguire che il codice a seguire e' un file XML. La linea 2 e' il tag di apertura che identifica che il resto del file e' scritto in VoiceXML.
In XML ed in VoiceXML tutte le informazioni sono racchiuse tra due tags. I tags sono indentificati dai simboli di maggiore e minore ("<" e ">") ed ogni tag di apertura, come quello della linea 2 e' "accoppiato" con un tag di chiusura. Per il tag della linea 2 il corrispondente di chiusura e' quello alla linea 12:



I tags di chiusura sono identificati dal simbolo di "backslash" (/). I due tags di chiusura ed apertura considerati nel loro insieme formano un elemento.
Il tag di apertura contiene due attributi , version and mode. Gli attributi si possono definire come variabili relative agli elementi. Version e mode sono in questo caso due variabili relative all'elemento "vxml".
L'attributo version indica la versione di VoiceXML utilizzata.
Mode, che e' un estensione alle specifiche VoiceXML 1.0 del Cambridge Voice Studio, indica il modo in cui browser vocale (in pratica l'interprete VoiceXML) deve "proporre" l' applicazione.
Mode = "TTS" (text-to-speech) significa che il browser convertira' i prompt vocali in suoni utilizzando il "Lernout & Hauspie English True Voice 6.00 (Build 10) Text To Speech Engine for Windows" (fornito con il Voice Studio in linguaggio "American English"...altre lingue non sono al momento ancora supportate anche se stiamo insistendo nei confronti di Cambridge Voice Tech per l'italiano !).
Mode = "SPCH" (Speechify) significa che verra' utilizzato lo Speechify TTS Engine (non fornito con il Voice Studio)
Mode = "CONSOLE" significa che verra' utilizzato il video come dispositivo di output e la tastiera come dispositivo di input. Se non specificato nessun mode quello di default e' "CONSOLE".


Commenti

Le linee dalla 3 alle 6



sono dei commenti (un blocco di commenti e' sempre racchiuso tra "< - -" e "- - >") e sono ignorate dal browser. Attenzione a non utilizzare i caratteri maggiore (">") e minore ("<") all' interno dei commenti perche' potrebbero trarre in inganno l'interprete !


Prompts

La vera "azione" dell' applicazione VoiceXML (il "prompt" verso l'utente), per piccola che essa sia (come in questo caso in cui essa e' rappresentata solo dalla frase "Hello World ! This is my first VoiceXML application"), dev' essere sempre contenuta all' interno dell' elemento "block" (linee dalla 8 alla 10). Il testo contenuto all' interno dell' elemento "prompt" (linea 9) rappresenta la frase che verra' proposta all' utente (in questo caso, visto che mode= "TTS", in forma "vocale" per mezzo della conversione eseguita dal TTS Engine).


Gerarchia degli elementi

VoiceXML e' un linguaggio gerarchico. Cio' significa che ogni elemento presenta un certo numero di elementi come figli ed altri come padri. Ad esempio l'elemento "prompt" (linea 9) e' contenuto nell' elemento "block" (righe 8 e 10) che a sua volta e' contenuto nell' elemento "form" (linee 7 e 11).



"Prompt" e' percio' figlio di "block" il quale oltre a essere padre di "prompt" e' a sua volta figlio di "form". Tale gerarchia che va obbligatoriamente rispettata potrebbe sembrare inutile, ma ci renderemo conto ben presto che e' esattamente il contrario.



Torna alla LEZIONE 2     /     Vai alla LEZIONE 4