VoiceXML
Le VoiceXML (Voice eXtensible Markup Language ou langage de balisage extensible vocal) est un langage normalisé de programmation d'une application vocale.
Application vocale
Une application vocale est un programme informatique de téléphonie qui permet à une personne de discuter au téléphone avec un serveur vocal interactif. Le service de consultation par téléphone des horaires de train en est un exemple : "Je compose un numéro, je demande un horaire, une machine m'annonce l'horaire souhaité".
Une application vocale permet :
- La communication de l'utilisateur vers le systÚme soit par des codes DTMF (« touches musicales ») à l'aide des touches du clavier téléphonique soit par reconnaissance vocale;
- La communication du systÚme vers l'utilisateur soit par des annonces enregistrées, par exemple en studio, soit par des annonces en synthÚse vocale.
Langage VoiceXML
DĂ©finition
Le VoiceXML est un dialecte XML. Comme son nom l'indique, il est fondé sur XML. Il est un standard défini par le VoiceXML Forum, un consortium créé par AT&T, Lucent, Motorola et IBM. Il a depuis été reconnu par le W3C. Il est issu de l'unification des technologies Phone Markup Language de Lucent et AT&T, VoxML de Motorola et SpeechML d'IBM.
Le VoiceXML est conçu pour ĂȘtre compris par un systĂšme particulier, appelĂ© Navigateur vocal (Voice browser en anglais), qui va interprĂ©ter les commandes de l'utilisateur et rĂ©pondre par les moyens indiquĂ©s.
Similitude entre HTML et VoiceXML
Il y a analogie entre les langages HTML et VoiceXML. Le premier est le langage de crĂ©ation des pages web et le second le langage dâĂ©criture des scĂ©narios vocaux. Ainsi le Navigateur vocal, homologue du navigateur web utilisĂ© par lâinternaute est intĂ©grĂ© dans la plate-forme vocale (Serveur vocal interactif â SVI). Une page web affiche du texte et des images, alors qu'une page en VoiceXML diffuse des fichiers audio et/ou des messages en synthĂšse vocale. La navigation sur un site web sâeffectue grĂące au clavier et Ă la souris. Dans un service vocal, elle se fait grĂące aux touches du tĂ©lĂ©phone (DTMF) ou bien par la parole : reconnaissance vocale.
Cette similitude entre les deux langages rend possible lâutilisation des mĂȘmes infrastructures que les serveurs Web, pour accĂ©der aux systĂšmes dâinformations.
Fonctionnement
Une page VXML est gĂ©nĂ©ralement distribuĂ©e en HTTP par un serveur Web. Cette page peut ĂȘtre dynamique comme pour une page Web, Elle peut ĂȘtre gĂ©nĂ©rĂ©e « Ă la volĂ©e » par un serveur dâapplication ou plus simplement grĂące au langage PHP. Les balises constituant la page sont interprĂ©tĂ©es par le serveur VXML : il sâagit de la phase dite de « parsing ». Le serveur VXML envoie au client sur son tĂ©lĂ©phone des messages sonores, issus de fichiers son. En retour le client par interaction sur les touches de son tĂ©lĂ©phone ou par sa voix expĂ©die une rĂ©ponse au serveur VXML. Cette rĂ©ponse va permettre au serveur de demander une nouvelle page VXML au serveur web. Il en est de mĂȘme que pour une page web qui en appelle une autre par un clic sur une URL.
VoiceXML versus code propriétaire
Le VoiceXML permet de réduire les charges de développement des applications vocales.
Ă ce jour, un trĂšs grand nombre d'acteurs de cette industrie s'accorde sur le fait que le dĂ©veloppement de scĂ©nario vocaux est jusqu'Ă dix fois plus rapide en VoiceXML qu'avec un langage d'ancienne gĂ©nĂ©ration. Ce facteur est d'autant plus grand que le projet est important. Dans le cadre de renouvellement de plateforme, plusieurs rĂ©fĂ©rences rĂ©centes dans le monde bancaire et d'assurance ont permis Ă des intĂ©grateurs de dĂ©ployer des services vocaux sur les mĂȘmes webservices que ceux dĂ©ployĂ©s pour le web. Le service vocal qui aurait nĂ©cessitĂ© 5 Ă 6 mois de dĂ©veloppement spĂ©cifique et de mise au point a Ă©tĂ© rĂ©alisĂ© en 10 jours en VoiceXML.
Cette rapiditĂ© de dĂ©veloppement s'explique d'une part par l'utilisation de standard et non d'un langage propriĂ©taire nĂ©cessitant des spĂ©cialistes. D'autre part la « webisation » des applications mĂ©tiers (accĂšs en mode client lĂ©ger web) permet l'utilisation des mĂȘmes infrastructures que celles dĂ©veloppĂ©es par les serveurs Web, pour accĂ©der aux systĂšmes d'informations (sĂ©curitĂ©, passerelle, systĂšme de gestion de base de donnĂ©es, serveur d'applications). Tous ces services sont rĂ©utilisĂ©s pour accĂ©der aux donnĂ©es centrales en temps rĂ©el.
L'intégration d'un programme VoiceXML ne nécessite aucune recompilation du noyau car le VoiceXML est un langage interprété en temps réel. Parce qu'il est basé sur les technologies Web, le VoiceXML est adopté par les développeurs du Web et la création de portails vocaux s'effectue sans compétences particuliÚres dans le domaine vocal. Le VoiceXML permet l'utilisation d'une architecture trois tiers qui différencie les éléments d'un service vocal : données, description du scénario (appliance server) et exécution du scénario (serveur vocal interactif).
Il est d'autant plus simple de faire fonctionner un serveur vocal interactif avec un fournisseur de service d'application (mode ASP) avec le langage VoiceXML car l'environnement téléphonique onéreux et technique est externalisé alors que les données sont conservées et traitées au sein de l'entreprise.
Liens externes
- (en) Spécifications VoiceXML sur le site du W3C