Les services vocaux par Fabien SCAGNELLI

Fonctionnement général

Pour bien comprendre le concept et le fonctionnement d'un service vocal, je vais tout d'abord présenter les différents éléments qui le compose. C'est un point un peu technique, mais dont je n'aborderai que les principes de bases.

Analogie avec un navigateur WEB

"La voix est à un service vocal ce que la souris est à un site internet". Voila une analogie, plutôt triviale, mais qui est à la base de tout ce dont on va parler ensuite.

Lorsque l'on est sur un site internet, il y a du contenu (texte, images, des vidéos...) puis il y a des liens, pour naviguer entre différentes pages. On utilise une souris pour cliquer sur les liens.

Lorsque l'on interagit avec un service vocal, il y a aussi du contenu, mais uniquement sonore (son, synthèse vocale), et il y a aussi des liens pour naviguer entre les différentes pages. Par contre, on utilise la voix comme moyen de sélectionner un lien, et non la souris.

L'architecture du navigateur vocal reprend tous les éléments de l'architecture de la navigation Internet.

Le voiceXML, pour naviguer à la voix

Le VoiceXML (Voice eXtensible Markup Language, ou langage de balisage extensible vocal en français) est un langage normalisé de programmation d'une application vocale. 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 (World Wide Web Consortium), une organisation fondé en octobre 1994 pour promouvoir la compatibilité des technologies de l'Internet.

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. Il est prévu pour gérer le système de grammaire vocale, et communiquer avec des serveurs de reconnaissance vocale, ou de détection de touches DTMF (les touches du téléphone).

Voici une analogie qui définit bien la fonctionnalité de ce langage : "VoiceXML est à un navigateur vocal ce que l'HTML est à un navigateur WEB".

Le VoiceXML >>

La synthèse vocale

La synthèse vocale est le fait de faire citer un nom ou une phrase de manière artificielle. Ce n'est pas une voix réelle qui est utilisé, mais un programme qui génère un son.

Ce principe est utilisé pour restituer un dialogue. C'est ce qui est à la base de l'interaction homme-machine. Dans un service, la reconnaissance vocale est utilisée pour que l'homme communique avec la machine, et la synthèse pour que la machine communique avec l'homme.

Le système de synthèse vocale est relativement simple. On utilise un outil de décomposition phonétique automatique, puis on recompose un son en concaténant chaque phonème. Il ne reste ensuite qu'a jouer le fichier son généré.

Par contre, la qualité de la synthèse vocale n'est pas exceptionnelle. L'impression n'est pas très naturelle car les mots sont "décousus".

C'est pour cela que l'on utilise la synthèse vocale que dans des cas bien particulier, et la plupart du temps pour dire uniquement un mot, et non une phrase. Parfois, l'utilisation de la synthèse vocale est tout de même indispensable, par exemple, dans les services d'annuaire, où le système doit restituer à un client des noms et prénoms qui ne peuvent être préenregistrés à l'avance.

Dans les cas où c'est possible, ce sont le plus souvent des fichiers sons qui sont joués, enregistrés en studio par une voix réelle. L'aspect final semble beaucoup plus naturel grâce à cette méthode.

La reconnaissance vocale

Pour utiliser les services vocaux, on utilise de la reconnaissance vocale. La reconnaissance vocale est une science faite de statistiques, qui utilise le traitement des signaux sonores pour les comparer avec des sons de références contenus dans une grammaire, et trouver celui qui se rapproche le plus du son d'origine. Si le son d'origine ne se rapproche d'aucun des sons de référence, on dit que le résultat de la reconnaissance vocale est un rejet.

La reconnaissance vocale >>

Architecture réseau d'un service vocal

Voici en général l'architecture type d'un service vocal :

Le serveur WEB héberge des pages VoiceXML, qui sont interprétées par la plateforme téléphonique (PABX ou IPBX). Si lors de l'exécution des pages, le système à besoin à faire appel à de la reconnaissance ou de la synthèse vocale, il emet des requêtes à des serveurs secondaires, que l'on appelle RVI (Ressource Vocale Interactive).

Et voici un scénario d'appel sur un service vocal "horloge parlante" :