Beruflich Dokumente
Kultur Dokumente
ETUDE ET CONCEPTION DUN SERVEUR VOCAL INTERACTIF : APPLICATION A LA GESTION DES NOTES DE LA SECTION INFORMATIQUE
Prsident : Membres :
Rsum
L'introduction de la voix comme forme additionnelle de communication pour dployer des applications a assurment rvolutionn le monde de linformatique, car tant un moyen d'accder l'information sans ordinateur.En effet, ce dernier a t un handicap ces dernires annes, puisque les gens ne sont pas toujours connects en rseau, surtout dans le monde rural. L'utilisation des serveurs vocaux interactifs (SVI) a sensiblement amlior la disponibilit d'informations et les applications vocales ont permis l'accs continu aux donnes distance avec des outils accessibles pour nimporte quelle catgorie de population (le tlphone en est un exemple). Ce mmoire rentre dans le cadre dune exploration scientifique car ce domaine est rcent et la plupart des solutions sont propritaires. Ainsi nous avons mis laccent sur ltat de lart des serveurs vocaux en gnral, et sur les serveurs vocaux Open Sources en particulier .Le rsultat nous a permis de choisir Asterisk pour la mise en uvre dune application vocale.Pour valider le bon fonctionnement de notre implmentation, nous avons adapter ce travail la consultation des notes pour les tudiants distance par tlphone. Un autre aspect du travail, constitue lamlioration de notre plate forme Asterisk .En effet, les applications vocales ont ajout un niveau supplmentaire de communication entre lhomme et les systmes artificiels. Cependant, la capacit de transformer du texte (mots) sous forme vocal n'est pas aussi flexible que nous pourrions limaginer.Ainsi, cette amlioration vise surtout changer le moteur de synthse vocal que propose Asterisk par un autre synthtiseur capable de lire des mots, car, le moteur de synthse vocale dont il dispose ne lit que des nombres, ce qui constitue un frein majeur vu les objectifs gnraux du projet.
Ddicaces
A Dieu Le Tout Msiricordieux, Ton amour, Ta misricorde et Tes grces mon endroit mont fortifie dans la persvrance et lardeur au travail.
A Mon Pre, Mamadou Bachir En vous, je voie un pre dvou sa famille.Ta prsence en toute circonstance ma maintes fois rappel le sens de la responsabilit.
A Ma Mre, Marme NGOM En vous, je voie la maman parfaite, toujours prte se sacrifier pour le bonheur de ses enfants. Merci pour tout.
A Mon Grand Pre, Birane DIOP Ton amour et ta sollicitude mon gard me marqueront jamais.
A mes oncles et tantes, frres et soeurs Qui je le sais ma russite est trs importante pour vous.Que Dieu vous paye Pour tous vos bienfaits.
Remerciements
Je souhaiterais manifester ma reconnaissance particulirement M. Ibrahima NIANG. Dune part pour m'avoir donn lopportunit de participer ce projet .Ce projet qui a dvelopp en moi une capacit de recherche et dadaptation. Dautre part davoir accept dtre mon encadreur, avec un suivi constant et un intrt dmontr tout au long de mon travail. Mes remerciements M. Djiby SOW davoir accept de prsider mon jury ainsi que tous les membres.
Egalement, le comit pdagogique de la formation Master dInformatique option Systmes dInformation Rpartis (SIR); particulirement M. Mbaye SENE, responsable de la formation. Plus gnralement, tout le personnel enseignant, de la Section Informatique qui ont particip ma formation ; M. Abdou Karim KONATE ,M. Abdourahmane RAIMY,M. Dame SAMB pour qui ses remarques et suggestions mont t dun grand apport.
Aussi, je remercie mes collgues du projet, qui ont t mes compagnons de travail durant cette riche priode de stage ; nous avons travers des tapes que nous croyions au dpart insurmontables.
Mes remerciements Bassirou KASSE, mon binme avec qui jai partag les joies et les difficults relatives au suivi de la formation ; pour sa motivation et ses judicieuses propositions. Tous les parents, connaissances et amis qui mont t dun soutien moral tout au long de ma formation.
Que tous ceux qui mont aid de prs ou de loin, trouvent ici lexpression de ma gratitude.
Rsum Ddicaces
----------------------------------------------------------------------------------- 1 ----------------------------------------------------------------------------------- 2
Remerciements -------------------------------------------------------------------------------- 3 Table des matires---------------------------------------------------------------------------- 4 Tables des figures ----------------------------------------------------------------------------- 6 Avant-propos----------------------------------------------------------------------------------- 7 Introduction et Problematique de recherche ------------------------------------------- 8 Premire partie ------------------------------------------------------------------------------ 10
I. Cadre de rfrence _______________________________________________________ 11 I.1. I.2. I.3. I.4. I.5. II. II.1. II.2. III. III.1. III.2. IV. IV.1. IV.2. IV.3. IV.4. IV.5. IV.6. Historique___________________________________________________________ 11 Activits et objectifs _________________________________________________ 11 Environnement technique du CRETIC __________________________________ 12 Le CRDI _____________________________________________________________ 12 Connectivity Africa __________________________________________________ 12 Problmatique ___________________________________________________________ 13 Dfinition du problme_______________________________________________ 13 Importance de la question ____________________________________________ 13 Procd de la recherche _________________________________________________ 14 Revue docummentaire _______________________________________________ 14 Sminaire ___________________________________________________________ 14 Dfinition ___________________________________________________________ 15 Rle dun SVI ________________________________________________________ 16 Les domaines dapplications des SVI __________________________________ 10
IV.7.
IV.7.1. Les touches DTMF___________________________________________________ 16 IV.7.2. La reconnaissance vocale ___________________________________________ 18 IV.7.3. La synthese vocale __________________________________________________ 19
Etude des diffrentes solutions ___________________________________________ 21 La plate forme Websphere ___________________________________________ 21 La plate forme Bayonne ______________________________________________ 31 La plate forme Asterisk ______________________________________________ 36
La conception _______________________________________________________ 42 Lapplication vocale ______________________________________________ 42 Le noyau vocal ___________________________________________________ 42 Le traitement des appels __________________________________________ 43 La mise en oeuvre ___________________________________________________ 43 Loprateur tlphonique _________________________________________ 43 Le MIC ___________________________________________________________ 43 Le simulateur _____________________________________________________ 44 La carte vocale ___________________________________________________ 44
I.2.
II. Ralisation dun serveur vocal interactif pour la gestion des notes de la section Informatique___________________________________________________________________ 45 II.1. II.2. II.3. II.4. III. III.1. III.2. III.3. Choix dune solution et de lenvironnement ___________________________ 45 Arborescence de lapplication ________________________________________ 48 Implementation de la solution_________________________________________ 51 Scnario de test _____________________________________________________ 53 Problmatique_______________________________________________________ 58 La solution __________________________________________________________ 59 La solution dtaille _________________________________________________ 60
Figure 1.1. Formation initiale------------------------------------------------------------- 4 Figure 1.2. Formation continue ---------------------------------------------------------- 4 Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Couplage Telephonie-Informatique ------------------------------------- 12 Fonctionnement dun SVI ------------------------------------------------- 14 Les touches DTMF et leurs frequences --------------------------------- 17 Processus de la reconnaissance vocale --------------------------------- 18 Processus de la synthese vocale ----------------------------------------- 19 Architecture de Websphere ---------------------------------------------- 22 Types de telephones utilises par Websphere ------------------------- 23 Dispositif simulant le reseau telephonique --------------------------- 24 Tableau recapitulatif des langues de Websphere-------------------- 28 Archtecture de Bayonne-------------------------------------------------- 32 Architecture De Asterisk ------------------------------------------------- 37 Carte vocale----------------------------------------------------------------- 37 Tableau recapitulatif ------------------------------------------------------ 40 Arborescence de lapplication ------------------------------------------- 50 Scnario de test ------------------------------------------------------------- 53 Processus de lecture ------------------------------------------------------ 59 Nouvelle Arborescence --------------------------------------------------- 61
Avant-propos
Dans son souci de former des professionnels de haut niveau en informatique, le Dpartement de Mathmatiques - Informatique de la Facult des Sciences et Techniques de lUniversit Cheikh Anta Diop de Dakar a ouvert depuis octobre 2004, un cursus de formation au Master Professionnel dInformatique. Ce Master est conu dans le but de facilit linsertion professionnelle des tudiants.En effet, il s'inscrit dans le cadre d'une formation oriente vers les besoins des entreprises et des organisations dans le domaine des nouvelles technologies. De niveau Bac+5, ce Master est cr dans la continuit de la Licence et de la Matrise. Cette filire professionnelle est propose conformment aux recommandations de diversification dans le deuxime et le troisime cycle, comme prconis par la rforme universitaire. La dernire anne de formation comporte un stage en entreprise dune dure de 4 6 mois. Ceci afin de permettre aux tudiants de confronter leurs acquis thoriques la ralit du milieu professionnel. A la fin de ce stage, les tudiants doivent produire un mmoire et le soutenir devant un jury. Ce document dcrit les activits effectues au sein de la structure daccueil en rapport avec un sujet ou projet qui leur a t confi. Cest dans ce cadre que nous prsentons ce document.
Le master 2 dInformatique dans son souci de former des professionnels de haut niveau en informatique inclut dans son programme de formation un stage pratique sur une dure comprise entre quatre six mois. Nous avons effectu cet effet notre stage au sein de la Section Informatique de la Facult des Sciences et Techniques de lUniversit Cheikh Anta Diop de Dakar dans le cadre du projet initi par le CRDI (Centre de Recherche pour le Dveloppement International) et intitul Recherche de dveloppement dinterfaces Homme-Machine bases sur les technologies sans fil et les logiciels libres Ce projet a pour principal objectif de faire utiliser des applications des analphabtes.En effet utiliser une application classique ncessite un minimum de connaissances ,et la question de savoir comment permettre laccs tous aux ressources informationnelles a t pose et plusieurs initiatives de rsolutions ont t dveloppes. Celles-ci tournent en gnrale autour des technologies de linformation et de la communication qui malgr leur propagation grande vitesse, tablit une fracture numrique entre zones enclaves qui demeurent encore lses. Ainsi la recherche mener dans ce projet doit amliorer la communication entre un systme dinformations et ses utilisateurs au travers de lanalyse et de la conception de linterface homme-machine .En outre, lexpansion des technologies mobiles travers le tlphone portable peut contribuer lacheminement de linformation dans des zones aussi enclaves soient-elles,mais pose un certain nombre de dfis dordre scientifiques et techniques dautant plus que les solutions Open Source sont privilgies. Lappropriation de linformation et des communications (TIC) par les populations analphabtes et marginaliss nest pas une chose simple lvidence car elle ncessite : Une certaine adaptation des outils de communication qui ont t lorigine conus pour des populations qui ne sont pas analphabtes et qui matrisent pour la plupart du temps les langues franaises ou anglaises .Do la ncessit de crer et tester des interfaces homme-machines conviviales adaptes aux utilisateurs finaux.
La mise en place de solutions permettant lenvoi des donnes moindre cot et avec des dlais rduits.En effet, lutilisation des TICS ne doit pas trop augmenter les dpenses quotidiennes des usagers. Cest ainsi que lon se pose la question de savoir : Quelles mthodologies et quelles technologies mettre en uvre pour concevoir et dvelopper des applications qui permettent tout un chacun quelque soit son niveau intellectuel et social de pouvoir les utiliser ? Dans ce mmoire, il sagit dune part dtablir un tat de lart sur les serveurs vocaux interactifs et dtudier toutes les solutions nous permettant la mise en place dun serveur vocal. Dautre part, concevoir et raliser dans un premier temps une application vocale permettant aux tudiants de la section informatique de consulter leurs notes avant de procder dans un deuxime temps lintgration dun synthtiseur vocal damliorer celui propos par notre solution. afin
Cette partie sattache : Prsenter le cadre dans lequel nous avons effectu notre stage ; Poser la problmatique de notre travail ; Faire un tat de lart de la question ; Etudier les diffrentes solutions logicielles qui peuvent nous permettre la mise en uvre de notre serveur vocal ;
I. I.1. Historique
CADRE DE REFERENCE
La section Informatique est ne dans les annes 1990.De nos jours, elle dlivre quatre diplmes: licence, matrise, master et DEA. Les cours, jadis dispenss par des cooprants franais, sont aujourdhui grande partie assurs par des enseignants sngalais (chercheurs et professionnels) en Matrise, Licence et Master et par des missionnaires. Le nombre dtudiants est pass entre 1990 et 2006 de 30 200 (formation continue et formation classique). Aujourdhui une bonne partie des enseignants-chercheurs en informatique dans les diffrentes universits et coles du Sngal sont issus du DEA.
I.2.
Activits et objectifs
Les activits de la Section Informatique du Dpartement de Mathmatiques Informatique sont essentiellement relatives la formation initiale et continue suivant les cycles de formations ci-dessous :
DUES
Slection de dossier + test
Licence Licence professionnelle Matrise Master 1 professionnel AEA Master 2 Master 2 professionnel DEA
Figure 1.1.
Formation initiale
Figure 1.2.
Formation continue
Par ailleurs, la section dispose dun Centre de ressources en TIC (CRETIC). Cest dans ce cadre quelle recrute les tudiants de la section pour la plupart ; ceux-ci ont en charge de travailler sur les projets en cours rsultants de ses multiples partenariats sous la direction de certains enseignants et partenaires.
I.3.
Au CRETIC, le matriel disponible volue en fonction des besoins techniques des projets en cours. A la base, il dispose denviron : 15 postes de travail un commutateur 24 ports (actuellement dfaillant); un concentrateur 16 ports ; un poste serveur central une boucle locale En plus, on y trouve des tlphones IP, des PDA, des postes serveurs par projets selon le besoin et une bibliothque de plus en plus riche en documentation.
I.4.
Le CRDI
Le CRDI (Centre de Recherches pour le dveloppement International) est une socit d'tat canadienne qui appuie les efforts des chercheurs des pays en dveloppement pour les aider crer des socits en meilleure sant, plus quitables et plus prospres.
I.5.
Connectivity Africa
Connectivity Africa est un programme permettant damliorer laccs aux TIC en Afrique. Il est cr par le CRDI en partenariat avec lUNECA (United Nations Economic Commission for Africa). Cette initiative pour le support de la recherche, le dveloppement et linnovation dans lutilisation des applications de TIC favorise le dveloppement en Afrique. Les secteurs prioritaires dintrts sont lducation et la sant. Connectivity Africa est administr par le CRDI travers ses bureaux en Ottawa, au Caire, Dakar, en Nairobi et Midrand et en Afrique du Sud. Il opre en parallle avec le
CRDI qui appui les recherches en TIC et les initiatives qui renforcent les communauts dAfrique sub-saharienne.
II. II.1.
PROBLEMATIQUE
Dfinition du problme
Vu les besoins spcifiques du projet c'est--dire mettre en place des serveurs vocaux capables de dialoguer en langues nationales(Ouolof,Serere,Poular,etc)et tant dans un contexte dinnovation et dexploration scientifique, la Section Informatique souhaite exprimenter la tlphonie sur IP et les serveurs vocaux interactifs ainsi dans un premier temps il sagira dacqurir une connaissance thorique des outils et procds mettre en uvre et dans un deuxime temps mettre en place une application pour la gestion des notes de la section. Ceci dans l'optique de faire voluer sa comptence technologique et pouvoir dans le futur proposer des solutions faciles dutilisation pour rpondre aux attentes des populations analphabtes.
III.2. Sminaire
Sur Asterisk et les serveurs vocaux Sur Websphere et les serveurs vocaux
IV.1. Dfinition
Un Serveur Vocal Interactif (SVI) ou Interactive Voice Response (IVR) est une plateforme, un ensemble logiciel et/ou matriel, qui sert de rpondeur vocal contrl par l'ensemble des touches du tlphone ou des technologies de reconnaissance vocale, permettant d'changer de manire automatique des informations diverses (messages, fax, etc...). Laccs cette application se fait par un simple numro de tlphone ou par un numro spcialis dont la demande s'effectue auprs d'un oprateur tlphonique. Plus prcisment, un SVI est charg de la dlivrance d'informations courtes et simples. Il permet galement d'identifier les appelants, de les aiguiller vers des services automatiques ou des tloprateurs comptents. Le SVI est un serveur vocal permettant dinterroger une base de donnes dans le systme dInformation (SI), il est interactif ds lors qu'une rponse une question pose par l'appelant entrane un traitement particulier de la part du serveur, do son nom.Les SVI sont adapts une large gamme de services et fonctions.
Les applications classiques du serveur vocal sont les services de transaction (rservations, tlpaiement, ...) et les services de consultation (horaires, comptes bancaires, ...) ou encore de standard automatique. On peut considrer le serveur vocal comme un agent automatique, capable de fournir des informations complexes et de prendre des dcisions d'orientation.
Avec le dveloppement de lInternet et lmergence de nouveaux mdias notamment les tlphones mobiles, le SVI connat un regain dintrt et ouvre de nouveaux champs dapplication qui permettent laccs en base de donnes.
La borne dinformation Cette fonction constitue la fonction de base dun SVI. Elle permet lappelant dtre guid dans une arborescence afin de trouver les informations quil cherche. Il passe dun menu lautre par simple choix. Le SVI diffuse des messages rptitifs, plus prcisment des informations pratiques, sans intervention humaine. Les SVI bornes d'informations sont quelques fois utilises en cas de "dbordement d'appels" c'est dire quand le service de rception assur par du personnel est satur.
Le standard tlphonique Le standard tlphonique se charge de laccueil de lappelant et lui propose par des choix dans des menus vocaux daccder son correspondant. Les choix seffectuent par frquence vocale sur le clavier tlphonique de lappelant ou parfois par reconnaissance vocale. Le standard tlphonique permet de transfrer les appels, les guider vers les diffrents services et correspondants, les filtrer en cas de besoin. Le SVI doit alors faire suivre l'appel, et pour cela il doit commander le PABX (Private Automatic Branch eXchange) qui son tour peut conduire des appels sans interposition manuelle en se basant entirement sur le numro compos, cest un outil trs puissant et trs flexible en terme de mcanisme de routage. Le Couplage Tlphonie Informatique La notion de CTI est la runion et l'intgration des mondes de la tlphonie et de l'informatique sur une plateforme commune. Le CTI donne la possibilit dinterroger une base de donnes, dy stocker des informations saisie par lappelant mais aussi de lui diffuser des informations qui lui sont propres. Pour parvenir cela, il faut intgrer la base de donnes dans le logiciel de gestion du SVI. Ce qui diffrencie ces SVI des autres ne se situent pas au niveau matriel, mais plutt au niveau logiciel. Le logiciel employ n'est plus un logiciel aux fonctions limites mais un progiciel. Ce sont par exemple les SVI de type prise de commandes, consultations de comptes bancaires, etc. En effet, le couplage tlphonie informatique (CTI) permet notamment lutilisation de bases de donnes qui contiennent les traces des appels (nombre, dure, qualit, agent, etc.) et facilitent une approche statistique pour aider la dcision. Les fonctions du CTI permettent deffectuer le chargement de la fiche du demandeur sur lapplicatif mtier lors de la prsentation de lappel loprateur. Grce au CTI les messages vocaux sont des fichiers informatiques que lon peut souhait placer dans des scnarios o naviguent les interlocuteurs. De plus
le couplage tlphonie informatique permet une gestion plus aise en associant par exemple le numro de tlphone de lappelant ou un code mis par lappelant, avec une fiche personnalise.
Les fonctionnalits annexes La fonction la plus lmentaire pour un serveur vocal est la borne dinformations. Cependant, le SVI est en mesure de jouer dautres rles mis part les trois fonctionnalits standard qui viennent dtre explicites dans la section prcdente. Parmi ces nombreux rles nous avons la messagerie vocale, la messagerie unifie et le service de fax la demande qui sont les plus connus. La messagerie vocale La messagerie vocale permet de grer les messages vocaux: transfert avec ajout de commentaires, accs distance, auto-login, notification des appels reus, personnalisation des messages daccueil, etc.Par exemple on peut attribuer chaque utilisateur une bote vocale o lappelant peut tre dirig pour laisser un message lorsque le correspondant souhait nest pas disponible. Dans ce cas, le SVI joue le rle de rpondeur tlphonique.Ces botes vocales sont consultables distance, partir dun tlphone. Une autre fonction caractristique des messageries vocales est la possibilit au
sein du groupe d'utilisateurs de la messagerie de rexpdier un message, de l'annoter, et surtout d'envoyer un message plusieurs destinataires. Il existe aussi d'autres fonctions selon les systmes : Horodatage, identification du numro de l'appelant, Cration automatique de botes vocales (nombre illimit) Lecture, suppression des messages Envoi des fichiers sons sur la messagerie internet du correspondant Fonction davertissement des correspondants (e-mail) La messagerie unifie La messagerie unifie centralise la gestion des messages vocaux, e-mails et fax. Laccs ces diffrents messages peut seffectuer via un tlphone fixe ou mobile. Lutilisateur peut couter ses messages vocaux, avoir une lecture de ses e-mails grce la technologie Text-To-Speech (Synthse vocale), diter un fax et profiter de toutes les fonctionnalits de sa bote vocale. La consultation distance est donc simplifie. La messagerie unifie joue le mme rle que la messagerie vocale mais en complment de cette dernire qui se limite aux messages vocaux, elle centralise et permet de consulter tout type de messages (lectroniques, vocaux et parfois fax) partir dune interface unique (tlphone ou logiciel de messagerie). Service de fax la demande Avec lampleur qua Internet de nos jours, le service de fax la demande est de moins en moins utilis. En effet il est plus pratique denvoyer ou de recevoir un document par Internet que par fax. Cependant, il existe des serveurs vocaux capables de commander un serveur fax par exemple pour envoyer la demande le plan d'un appartement, un itinraire routier, etc .L'utilisateur choisit la tlcopie l'aide d'une arborescence vocale et des touches tlphoniques.
Reconnaissan ce
Comprhension
Base de donnes
Contrleur Dialogue
Base de donnes
Synthse
Gnration
Base de donnes
Premier module du systme, la reconnaissance de la parole vise transformer le signal acoustique produit par lusager en une chane textuelle quivalente.Lobjectif de la comprhension est de dgager les intentions de lusager et didentifier les actes de langage employs. Il sagit de donner du sens la ou aux phrases reconnues . Vritable chef dorchestre du systme, le contrleur de dialogue est charg dinteragir avec le systme dinformation, de grer linteraction (choix de la rponse apporter) et lhistorique du dialogue qui pourra ventuellement tre utilis par le module de
comprhension ou de reconnaissance. Son rle peut stendre de linterprtation contextuelle jusqu tout ou partie de la gnration.Deux phases peuvent tre distingues pour la gnration. La premire est la gnration profonde. Elle correspond la question quoi dire ? , cest--dire quelle vise dterminer le contenu smantique de la rponse lutilisateur. La deuxime phase, dite gnration de surface, permet de choisir les mots pour exprimer la rponse lutilisateur. Elle correspond la question comment le dire ? .Dernire composante du systme, la synthse vocale restitue de manire orale le message gnr par la chane de traitement.
Cependant la signalisation DTMF est remplace dans certaines plateformes par la reconnaissance vocale qui se trouve tre plus facile utiliser. Avec le DTMF, le systme donne des ordres l'utilisateur, avec la reconnaissance vocale, c'est l'inverse. Linconvnient majeur du DTMF est que certains postes tlphoniques ny ont pas accs, il concerne les postes mettant des sons la numrotation. De plus, en termes purement fonctionnels le DTMF est limit car il ne peut pas tre utilis par un SVI qui propose un nombre de choix qui dpasse le nombre de touches du clavier tlphonique.
Commander un automate en parlant au lieu dappuyer sur des touches : cest lobjectif de la reconnaissance vocale. Cette fonction permet de rendre les applications plus interactives. La reconnaissance automatique de la parole en langage naturel s'effectue par reprage des mots cls. Cette technologie permet de remplacer les interfaces DTMF. Avec la reconnaissance vocale, cest lutilisateur qui impose ses choix de navigation au systme. La reconnaissance vocale permet une plus grande souplesse pour l'utilisateur mais implique un cot plus lev pour la configuration du serveur vocal : mmoire, applications, espaces disques, processeurs, etc .Un module de reconnaissance de mots ou de phrases d'un systme ncessite des quantits importantes de connaissances acoustiques et linguistiques. Les connaissances acoustiques permettent au systme de reconnatre les sons alors que les connaissances linguistiques permettent de retrouver les
mots et de valider leur enchanement. Pour obtenir des performances suffisantes, il est indispensable de disposer de corpus enregistrs dans des conditions aussi proches que possible de celles des applications vises. Deux approches, l'une plus globale, l'autre plus analytique permettent d'apprhender la reconnaissance des mots.
Dans l'approche globale, l'unit de base sera le plus souvent le mot considr comme une entit globale, c'est dire non dcompose. L'ide de cette mthode est de donner au systme une image acoustique de chacun des mots qu'il devra identifier par la suite. Cette opration est faite lors de la phase d'apprentissage, o chacun des mots est prononc une ou plusieurs fois. Cette mthode a pour avantage d'viter les effets de coarticulation, c'est dire l'influence rciproque des sons l'intrieur des mots. Elle est cependant limite aux petits vocabulaires prononcs par un nombre restreint de locuteurs. Lapproche analytique, qui tire parti de la structure linguistique des mots tente de dtecter et didentifier les composantes lmentaires (phonmes, syllabes).Celles-ci sont les units de base reconnatre .Cette approche a un caractre plus gnral que la prcdente : pour reconnatre de grands vocabulaires,il suffit denregistrer dans la mmoire de la machine les principales caractristiques des units de base . Actuellement, bien que la reconnaissance vocale soit encore loin dtre parfaite, les checs de cette technique sont le plus souvent causs par une mauvaise comprhension notamment pour les mots hors vocabulaire, un modle de dialogue inadapt ou encore par le comportement et les attitudes de lutilisateur mal modliss. Ce dernier nagissant pas comme prvu, le systme comprend mal ses attitudes et la stratgie de dialogue peut alors devenir droutante pour lusager.
Auparavant, pour dlivrer un message de texte pur au niveau du SVI, on enregistrait le message sous forme de fichier sonore. Cependant, cette mthode prenait un espace disque important. Pour palier cela la synthse vocale est introduite dans le SVI. La synthse de la parole partir du texte est la passerelle-cl entre le monde de l'crit et celui de l'oral. La synthse vocale est une technologie qui produit " des sons de parole partir dune reprsentation phontique du message ". Cette technologie ne doit pas tre confondue avec la restitution dun message prenregistr dans laquelle le texte est fixe puisque la synthse partir du texte est utilise la place de la restitution de messages prenregistrs, ds que la frquence (et donc le cot) de mise jour de ces messages devient trop importante. Le principe est extrmement simple: tout texte crit peut tre traduit en message vocal grce une simple carte de synthse vocale. Deux grandes familles de synthse vocale sont distinguer : Les systmes qui utilisent la concatnation de mots entiers qui ont un vocabulaire limit et qui offrent une qualit de parole excellente. Ces systmes ne ncessitent pas danalyse linguistique.
Les systmes dits de synthse partir du texte qui dans une premire tape convertissent un texte en une chane de phonmes marqus par des informations prosodiques (ensemble des phnomnes dintonation dune langue), et dans une seconde tape qui transforment cette chane en un ensemble de donnes acoustiques transmettre un synthtiseur.
Le synthtiseur vocal permet de crer une voix artificielle semblable celle de l'homme. Il convertit le texte cod au moyen dun lecteur sonore dcran et le transmet la carte son afin dobtenir une reproduction orale en appliquant au signal les caractristiques linguisticoprosodiques. Contrl au moyen dun logiciel de lecteur sonore, le synthtiseur vocal peut faire varier la cadence, le dbit, le volume et la langue.
traitement de la voix telles que la reconnaissance automatique de la voix et la gnration automatique de la voix partir de texte seront universellement adoptes. Les compagnies disposant de telles technologies seront demain, sans aucun doute, les leaders au niveau mondial.Cest ainsi que IBM a mis en place un serveur dapplication appel Websphere qui
regroupe en son sein les diffrents modules cits plus haut. Ce qui fait de Websphere lune des solutions qui rpond le plus aux besoins des entreprises.
V.1.1. Architecture
La technologie du traitement de la voix propose par IBM comporte : la technologie de reconnaissance automatique de la voix (ASR) et la technologie de la production du langage parl partir dun texte (TTS). Ainsi un certain nombre de dispositifs doivent tre mis en oeuvre do le schma ci dessous.
En effet pour mettre en place un serveur vocal interactif utilisant la technologie dIBM plusieurs lments interviennent. Tout dabord le tlphone, qui peut tre de types diverses
Softphone
TlphoneAnalogique
TlphoneIP
TlphoneSansFil
Ainsi lutilisateur peut solliciter le serveur en utilisant un de ces tlphones.Sil sagit dun tlphone IP ou dun softphone, lappel mis passe dabord par un Gateway et ensuite par un oprateur de tlphonie ou par un autre dispositif capable de simuler le rseau de tlphonie.Ce dispositif est appel Gordon Kapes System et peut tre utilis comme centrale de tlphonie ou un Private Branch eXchange (PBX).Ce dispositif permet galement dinterconnecter plusieurs serveurs vocaux.
Figure 9 : Dispositif simulant le rseau de tlphonie Lappel ainsi reu par le serveur, doit tre trait .Pour effectuer ces traitements lapplication vocale fait appel plusieurs autres serveurs notamment le serveur de reconnaissance vocale et le serveur de synthse vocale .La reconnaissance des mots prononcs par lutilisateur se fait grce la grammaire spcifie et aux fichiers VoiceXML. Le serveur vocal pour rpondre lutilisateur interagit avec les autres serveurs en utilisant plusieurs protocoles, notamment HTTP, RTP, RGCP. http HTTP (HyperText Transfert Protocole) a t mis en service par l'initiative globale de l'information d'enchanement mondial depuis 1990. Ces spcifications dfinissent le protocole dsign sous le nom de "HTTP/1.1". HTTP est un protocole de rseau de couche application construit sur TCP. HTTP permet des browsers d'enchanement et des serveurs d'enchanement de communiquer. Les clients et les serveurs de HTTP communiquent par l'intermdiaire des messages de demande et de rponse. HTTP utilise le
port 80 de TCP par dfaut, bien que d'autres ports tels que 8080 soient galement employs. C'est le protocole employ pour transfrer des donnes sur le World Wide Web. Le protocole HTTP est le support du Web, la partie la plus utilise d'Internet et celle qui connat la plus forte croissance. C'est pourquoi toutes les adresses de site Web commencent par "HTTP://". Toutes les fois que vous dactylographiez un URL dans votre browser, lordinateur envoie une demande HTTP au "web server" appropri. Ce dernier, conu pour manipuler des demandes HTTP, envoie la page HTML demande. RTP Le but de RTP (Real-time Transfert Protocole) est de fournir un moyen uniforme de transmettre sur IP des donnes soumises des contraintes de temps rel (audio, vido,...). Le rle principal de RTP consiste mettre en oeuvre des numros de squence de paquets IP pour reconstituer les informations de voix ou vido mme si le rseau sous-jacent change l'ordre des paquets. Plus gnralement, RTP permet : Didentifier le type de l'information transporte ; D'ajouter des marqueurs temporels et des numros de squence l'information transporte ; De contrler l'arrive destination des paquets ; De plus, RTP peut vhiculer des paquets multicast afin d'acheminer des conversations vers des destinataires multiples.
MRCP
Le but du protocole MRCP (Media Ressource Control Protocol) est de standardiser les dialogues informatiques entre les moteurs d'ASR et de TTS avec les serveurs vocaux .Il s'agit d'un dialogue client-serveur. Le protocole dfinit les requtes, les rponses et le contrle du mdia. Il est galement bas sur une base des protocoles RTSP (Real Time Streaming Protocol) et RTP (Real Time Protocole).
Websphere utilise uniquement ce protocole pour les fonctions avances de reconnaissance vocale lies au langage VoiceXML.
V.1.2. Caractristiques
Le serveur vocal dIBM prsente plusieurs caractristiques. Websphere est propritaire : En effet Websphere est une solution commercialise par IBM, mais il existe une version dvaluation de quatre vingt dix jours disponible sur Internet. Il supporte les plate-formes suivantes : Red Hat Enterprise Linux WS/ES/AS V3.0 Update 1 pour les processeurs Intel Pentium III (1 GHz ou plus) SUSE Linux Enterprise Server (SLES) V8.0 powered by United Linux V1.0 avec le Service Pack 2a ou 3 pour les processeurs Intel Pentium III (1 GHz ou plus) Microsoft Windows Server 2003
Il supporte le VoiceXML Voice eXtensible Markup Language ou VoiceXML, est conu pour crer les dialogues audio qui comportent le discours synthtis, l'acoustique digitalise, le DTMF, et l'enregistrement de l'acoustique pour des applications de tlphonie. Il apporte l'avantage des technologies d'enchanement aux utilisateurs d'un tlphone en fournissant un mcanisme interactif de la rponse de voix. Une application dveloppe en VoiceXML doit permettre de "parler" l'utilisateur en synthtisant de la parole, mais galement "couter" la voix de l'utilisateur grce la reconnaissance vocale. VoiceXML reprsente le HTML pour la tlphonie et les applications de voix. VoiceXML est le langage de programmation des applications vocales. Il est bas sur XML et permet laccs aux applications Web partir de tlphones ou autres appareils fonctionnant avec la voix.
Lditeur VoiceXML est l'interface de dveloppement d'applications vocales sur le modle Web. La connexion aux informations issues du site Web devient naturelle car elle rpond aux exigences de la norme VoiceXML. Elle permet ainsi d'changer des informations avec tout moteur rpondant cette norme : reconnaissance vocale, synthse de texte, analyse smantique. Grce lditeur VoiceXML, on peut donner de la voix un site Web en permettant un accs tlphonique aux donnes en ligne. VoiceXML est une passerelle entre le contenu Web et le portail vocal. Etant un langage d'un seul bloc de prsentation conu pour accepter l'entre d'utilisateur sous forme de DTMF (tonalits de contact produites par un tlphone) et de parole, VoiceXML est une nouvelle technologie trs utilise dans la conception de serveur vocal car facilitant celle-ci. En effet avec VoiceXML, le dveloppement d'application de reconnaissance de la parole est considrablement simplifi. Au lieu d'utiliser un PC avec un Web browser, n'importe quel tlphone peut accder des applications de VoiceXML par l'intermdiaire d'un VoiceXML browser fonctionnant sur un serveur de tlphonie. Considrant que le HTML est gnralement employ pour crer des applications graphiques d'enchanement, VoiceXML peut tre employ pour des applications voix-permises d'enchanement.
Il supporte plusieurs langues dont une liste exhaustive est dresse dans le tableau ci-dessous.
La configuration minimale du serveur : Intel Pentium III (minimum 1 GHz ou processeurs quivalent) Mmoire (RAM): 2 GB (minimum) Espace disque disponible: 2 GB
VI.1.3.2. Inconvnients
Cette solution prsente nanmoins quelques inconvnients, parmi lesquels :
Manque de fiabilit du moteur de reconnaissance vocale : Linconvnient majeur de cette solution rside au niveau de son moteur de reconnaissance vocale.En effet, en dpit du progrs accompli par la reconnaissance de la parole ces dernires annes, il reste beaucoup faire. Les algorithmes actuellement employs ont en partie chou dans une varit de situations, d'un changement simple de voix un
changement d'environnement. Par consquent, un effort de perfectionnement doit se faire au niveau des caractristiques suivantes :
Mots hors vocabulaire Un vocabulaire contient tous les mots qu'un moteur d'identification de voix devrait identifier. Cependant, il n'est pas possible de garantir qu'un haut-parleur n'emploiera jamais un mot non inclus dans le vocabulaire, puisquil peut ne pas se rendre compte de ce que le vocabulaire contient. Actuellement, le processus d'identification essaye d'identifier le brin le plus troit pour l'entre reue, parce qu'il ne peut pas distinguer, qu'un mot donn appartienne au vocabulaire ou pas. Ce comportement n'est pas souhaitable pour des applications de commande puisqu'une fausse action sera appele. Une bonne manire de rsoudre ce problme pourrait tre, employer les niveaux de seuil minimum pour un brin de mots. Linconvnient est que, selon le seuil, les mots qui appartiennent au vocabulaire pourraient tre mal classifis. Discours spontan Pendant une conversation normale, il peut jaillir, se produire, que les gens ternuent, toussent ou hsitent avant de poursuivre une conversation. Dans toutes ces circonstances, la reconnaissance de la parole sexcute tout fait mal parce que le bruit supplmentaire affecte la qualit du discours rel. Il est certainement souhaitable d'avoir un systme o toutes ces conditions pourraient facilement tre traites.
Demande beaucoup de ressources En effet, les diffrents serveurs qui composent larchitecture propose par Websphere ont une certaine caractristique.Ainsi leur installation et configuration ncessitent aussi bien des ressources matrielles que humaines.Et ces dernires doivent avoir une certaine exprience pour tre capables de mener bien le travail. Trs coteuse galement, comme tenu prcdemment dans notre propos, il
demeure propritaire .Et son acquisition implique dautres dpenses supplmentaires notamment le dispositif qui doit simuler le rseau de tlphonie si lon dsire faire des tests en local.
Un serveur GNU Bayonne dot d'une carte de tlphonie numrique ou analogique permet de prototyper et de dployer des services applicatifs commerciaux de qualit professionnelle. Cette facilit de dveloppement et d'intgration avec d'autres logiciels libres ouvre les portes du dveloppement d'applications tlphoniques un large public d'utilisateurs et de dveloppeurs, sans ncessiter d'autres comptences spciales ou des API propritaires.
V.2.1. Architecture
Utilisant un PC ordinaire tournant sous GNU/linux quipe de cartes tlphoniques multicanaux (disponibles auprs de fabriquants divers), GNU Bayonne a dj t utilis pour crer et dployer des applications vocales commerciales s'interfaant avec le rseau tlphonique public. De telles applications peuvent tre des services d'Email vocal, des services web intgrs de commerce vocal (v-commerce) ou des systme de gestion de la relation client. GNU Bayonne est galement facilement dimensionnable afin de permettre le dploiement de services avancs d'oprateur fonctionnant sur des systmes dexploitations open source.
Module TTS
V.2.2. Caractristiques
La principale caractristique de Bayonne est d'offrir une plateforme IVR virtuelle qui est indpendante du matriel utilis. Indpendance vis vis des plates formes Bayonne peut fonctionner avec une partie des familles IVR (pas toutes encore) sans pour autant avoir besoin d'une d'entre elles.En effet, Bayonne a un tronc commun modulaire qui dfinit un ensemble d'instructions et un environnement virtuel, pour un usage gnral. Dans cet environnement virtuel on peut dvelopper une application vocale sans tre restreint par le matriel utilis.Il est donc possible de changer de plateforme ou mettre en communication un service IVR un autre systme avec une plateforme diffrente sans avoir rcrire le code.
Pour essayer ou tester Bayonne, il ne faut pas de plateforme IVR coteuse. Actuellement, il suffit d'une carte son car Bayonne utilise un pilote qui mule une plateforme IVR utilisant les entres/sorties du PC (clavier, microphone et couteurs) : Bayonne tourne sur un PC de bureau. Donc pour lancer des services IVR, Bayonne utilise son propre langage, appel CcScript. Ce langage est trs simple, avec des actions informatiques compltes et les principales structures de programmation: Blocs conditionnels, boucles, sauts conditionnels ou non, routines.... Une fonction principale de CcScript est d'avoir des instructions limites temporellement : avant qu'une instruction ne soit excute, le langage connat son temps maximum d'excution. Pour des oprations incluant des appels des systmes externes, comme les systmes de fichiers, les bases de donnes et les connexions rseau, il y a un paramtre timeout . Si l'excution dure plus longtemps que le timeout, l'opration choue. Du point de vue du serveur, cette fonction est trs importante car elle permet Bayonne d'offrir des services dterministes et relis. Les possibilits informatiques de Bayonne ne sont pas seulement limites ceux de CcScript. En fait Bayonne peut interagir avec des langages de haut niveau comme le Perl et le Python. Grce cette intgration directe, Bayonne hrite de toutes les bibliothques et modules disponibles pour ces langages: chaque opration informatique, algorithme habituel ou non, manipulation de donnes, raccordement la base de donnes ou serveur externe (enchanement, courriel, LDAP, dossier partags)... Ainsi Bayonne peut traiter tout ce qu'on peut lui demander. Accs direct aux ressources distantes Mme sans Perl et Python, Bayonne peut directement accder des bases de donnes MySql ou PostGres et aux requtes SQL. De la mme manire, Bayonne peut accder au Systmes de fichiers et se connecter par l'intermdiaire du rseau des ressources distantes. En outre, Bayonne peut directement interagir avec un synthtiseur de voix TTS, thta (seulement les voix anglaises sont disponibles) et festival (multilingue). Actuellement, Bayonne ne peut se relier aux systmes de reconnaissance de la parole, mais ce dispositif est au statut de dveloppement.
Bayonne peut grer des entres venant de connections tlphoniques et des entres provenant du systme luimme dans plusieurs buts : gestion synchronise, o Bayonne attend pour un signal d'entre (exemple : attendre qu'une touche soit presse par l'utilisateur) et de la gestion dsynchronise, o Bayonne reoit une notification quand un vnement arrive (exemple : une touche presse ou un timeout expir) sans explicitement les attendre. Ces deux modes de gestion d'entres permettent Bayonne de ragir rapidement l'utilisateur et aux vnements systme sans aucune perte de temps. Systme dexploitation Bayonne est la rponse du monde open source et du projet GNU au monde propritaire et ferm. Donc, le systme dexploitation sur lequel tourne Bayonne est le GNU Linux.
Pour la plupart des services IVR, Bayonne n'a pas besoin de systmes externes Texte Parole car il possde dj ces propres modules vocaux multilingues (Anglais, Franais, Italien et Russe) qui peuvent dire des nombres (ordinaires ou cardinaux), et des dates (ces modules sont compltement personnalisables).Ils incluent des voies humaines prenregistres et peuvent tre utiliss pour la plus part directement dans larchitecture de Bayonne. 42 Par Fatou SYLLA
Flexibilit Toutes ces caractristiques rendent Bayonne utile dans un large ventail de situations. Il peut tre utilis pour de petits services tlphoniques IVR avec quelques lignes, tout aussi bien que pour un grand service central supportant des centaines de lignes. Avec Bayonne on peut facilement avoir des services simples et rapides ou des services complexes invoquant par l mme des systmes externes. Ainsi, on peut dire que Bayonne est une bonne solution de serveur IVR pour tous les besoins en services IVR.
V.2.3.2. Inconvnients
Incompatibilit avec des modems Comme indiqu prcdemment, Bayonne supporte plusieurs panneaux, mme trs diffrents les uns des autres, de 2 120 lignes tlphoniques (analogique ou numrique). D'ailleurs, dans la nouvelle version de Bayonne, on peut mme utiliser des panneaux de diffrentes familles en mme temps, ainsi des centaines de lignes tlphoniques peuvent tre manipules simultanment. Malheureusement Bayonne ne supporte pas les modems habituels srie/USB (analogique, RNIS ou GSM). Inexistence dun moteur de reconnaissance vocale Lune des faiblesses majeures de cette plate forme ,est quelle na pas de moteur de reconnaissance vocale.Ainsi la seule interaction quil peut y avoir entre un utilisateur et lapplication vocale est lensemble des touches du tlphone en loccurrence les touches DTMF.
V.3.1. Architecture
Asterisk a une architecture trs simple. Il se comporte comme un middleware connectant les applications et les technologies de tlphonie .Il a tout dabord t dvelopp sur GNU/LINUX pour x/86.Mais il a t soigneusement conu pour une flexibilit maximale. Ainsi les APIS spcifiques sont dfinies autour d'un systme PBX central. Ce noyau avanc manipule linterconnexion interne du PBX proprement soustrait des protocoles spcifiques, des codecs et des interfaces matrielles des applications de tlphonie. Cela permet Asterisk d'utiliser n'importe quel matriel appropri et technologie disponible (maintenant ou l'avenir) pour excuter ces fonctions essentielles, en connectant le matriel et les applications.
Module TTS
Module ASR
Il est noter que pour un usage en interne, Asterisk ne ncessite aucun matriel supplmentaire mais ncessite une/plusieurs cartes pour atteindre le rseau tlphonique commit.
V.3.2. Caractristiques
Les solutions de commutations tlphoniques dAsterisk offrent un assortiment caractres riches et flexibles. Asterisk offre les fonctionnalits du PBX classique ainsi que des caractristiques avances et fonctionne avec les systmes traditionnels de commutations tlphoniques base standard et aussi avec les systmes Voix sur IP. Asterisk fournit toutes les caractristiques souhaitables dun large systme PBX. Asterisk prend en charge de nombreux protocoles MRT pour le traitement et la transmission de la voix par les interfaces de tlphonie traditionnelle. Asterisk est compatible avec les types de signalisation standard amricains et europens utiliss dans les systmes tlphoniques d'affaires standard ; il tablit un pont entre la prochaine gnration de rseaux d'intgration voix-donnes et les infrastructures dj en place.
Non seulement Asterisk est compatible avec les quipements de tlphonie traditionnels, mais il tend leurs capacits techniques.
Asterisk est muni d'un noyau de commutation, de quatre API pour effectuer le chargement modulaire des applications de tlphonie, grer les interfaces d'quipement, les diffrents formats de fichiers et des codecs. La commutation entre les diffrentes interfaces qui sont prises en charge s'effectue de faon transparente, c'est pourquoi il peut intgrer tellement de systmes de tlphonies diffrents en un seul rseau de commutation. Asterisk pour fonctionner, a besoin d'une configuration matrielle et logicielle minimale : Processeur : PentiumIII 900Mhz ou suprieur Mmoire : mini 256Mo de RAM
volutif, car les programmeurs Open Source participent au codage.Ainsi Asterisk grossit rapidement avec de nouvelles fonctionnalits supplmentaires qui sont frquemment ajoutes.
V.3.3.2. Inconvnients
La liaison doit tre de bonne qualit car aussi bien la voix que les donnes passent par le mme rseau .Ainsi ce rseau se doit dtre de bonne qualit, sans quoi plusieurs appels entre terminaux ou entre les terminaux et le serveur peuvent tre rejets ou peuvent ne pas aboutir.
Dpendant du rseau lectrique, car le serveur et certains des terminaux sont lis non pas au rseau tlphonique commit (RTC), mais au rseau informatique.Donc, ds quil ya coupure dlectricit, le serveur devient insdiponible, ce qui constitue dailleurs lun des principaux inconvnients de cette solution.
CONCLUSION PARTIELLE
Cette phase aura permis davoir une meilleure comprhension de lenvironnement structurel et technologique dans lequel notre travail sinscrit. Ainsi tant dans un contexte dexploration scientifique, on na insist sur ltude des diffrentes solutions dans le but davoir toutes les informations ncessaires pour pouvoir faire un choix judicieux .En dfinif le tableau rcapitulatif ci-dessous nous permet de voir quelques lments importants dont disposent chaque solution tudie.
WEBSPHERE Open Source ASR(reconnaissance vocale) TTS(synthse vocale) OUI NON OUI
Cette partie sattache : Enumrer et expliquer les diffrents lments pour la conception et la mise en uvre dun serveur vocal quelque soit la solution ; Faire le choix dune solution et des diffrentes technologies pour le dveloppement de lapplication; Raliser et prsenter lapplication vocale; Prsenter un dbut de solution pour lamlioration du SVI;
I. CONCEPTION ET MISE EN UVRE DUN SERVEUR VOCAL INTERACTIF I.1. Conception I.1.1. Lapplication vocale
Une application vocale est une application base sur lchange dinformations sous forme vocale avec lappelant. Elle peut se faire soit par la restitution par information vocalise ou synthse de la parole, soit par la slection par entre DTMF ou reconnaissance vocale, soit par lenregistrement dun message vocal. L'application vocale est l'outil indispensable qui gre le fonctionnement du serveur vocal. Cette application est adapte une situation spcifique, pour fonctionner en simple messagerie, pour faire du commerce en ligne, pour fonctionner en service dinformations ,etc. Un nombre infini de fonctionnalits sont imaginables. Les quatre principaux types dapplication vocale sont : Standard automatique : routage selon choix dans un menu vocal Audiotex : diffusion vocale dinformations prenregistres Messagerie vocale : rception et envoi denregistrements vocaux Rponse vocale interactive : annonce vocale du SI (Systme dInformation).
I.2.3. Le simulateur
Le simulateur de ligne RTC, est un dispositif qui simule un appel entrant et peut en consquence jouer le mme rle que loprateur tlphonique en interne. Des postes tlphoniques sont directement relis aux ports du simulateur qui est reli la carte vocale.
Les cartes vocales numriques sont prvues pour le rseau tlphonique numrique. Elles disposent de ressources voix et interfaces lignes numriques avec un connecteur RJ45 ou un connecteur BNC. Par contre, les cartes vocales analogiques sont prvues pour le rseau tlphonique analogique et disposent de ressources voix et interfaces lignes analogiques. La carte vocale est dispose sur un seul slot PC et il est possible de chaner les cartes au sein dun mme PC via les connecteurs SCBUS qui sont des connecteurs secondaires.
II. REALISATION DUN SERVEUR VOCAL INTERACTIF POUR LA GESTION DES NOTES DE LA SECTION INFORMATIQUE II.1. Choix dune solution et de lenvironnement
Comme nous lavons dj soulign, il existe plusieurs solutions propritaires pour la mise en uvre des serveurs vocaux. Cependant, vu limportance que les SVI ne cessent de prendre, et vu les exigences du projet nous optons pour une solution open source. Ainsi la solution qui a t retenue est Asterisk.En effet le dveloppement des serveurs vocaux en environnement Open Source offrent ces derniers une plus grande ampleur dans le sens o avec Open Source on accde au code, ce qui fait que les applications vocales pourront rapidement et facilement tre amliores. De plus, les produits Open Source ont toujours donn une entire satisfaction aux dveloppeurs par leur simplicit et aux clients par leur efficacit. Asterisk regroupe galement en son sein les diffrents lments additionnelle. Une raison supplmentaire qui a guid notre choix est que Asterisk propose des options avances de configuration et douverture parmi lesquelles on a une base de donnes interne et un systme de communication avec des applications externes : AGI. cits plus haut, ncessaires pour la ressource conception et la mise en uvre.Donc avec Asterisk, on na pas besoin de
Les AGI Un AGI (Asterisk Gateway Interface) est un canal de communication bidirectionnel entre Asterisk et un programme externe, indpendamment du langage utilis pour ce dernier. Les changes seffectuent en mode texte, certains paramtres sont passs linitialisation du script depuis le plan de numrotation dmarr avec la commande AGI (). Ainsi, depuis lapplication on peut donner des ordres Asterisk au niveau de la prise de dcision, par exemple HANGUP pour raccrocher ou SET CALLERID pour changer la reprsentation de lidentifiant appelant. On distingue plusieurs types dAGI : AGI qui permet de faire des applications pour commander le dialplan, ce dialplan auquel on peut accder de manire manuelle grce au fichier extensions.conf.Cest ce type dAGI quon a dailleurs utilis dans notre cas. EAGI (Enhanced Asterisk Gateway Interface) qui donne l'application la possibilit dajouter dautres fonctionnalits Asterisk. FastAGI qui peut tre employ pour faire le traitement sur une machine distance .Ces applications sont le plus souvent dveloppes en JAVA. DeadAGI qui permet la mise en place dapplications qui font des traitements sur un canal mort, c'est--dire aprs raccrochement. Les Agi peuvent tre dvelopps dans nimporte quel langage : Perl, Php, Pascal, etc Pour le dveloppement de lapplication nous utiliserons Perl comme langage et Mysql comme systme de gestion de base de donnes. Perl P.E.R.L. signifie Practical Extraction and Report Language,que l'on pourrait traduire par langage pratique d'extraction et d'dition .Il est cr en 1986 par Larry Wall (ingnieur systme). Le langage Perl ne se prsente plus : ultra puissant et trs complet grce ses nombreuses bibliothques de fonctions, il est un langage de script qui pourrait remplacer plusieurs
outils standard d'Unix, tout en fournissant de nombreuses fonctions.La syntaxe de Perl a t dfinie selon deux grandes rgles : Dune part, ce qui est simple doit s'crire simplement et ce qui est difficile doit rester possible ; d'autre part, la syntaxe est optimise pour le cas le plus courant : au lieu d'imposer un carcan uniforme, Perl vous permet d'utiliser une syntaxe assouplie pour les oprations les plus frquentes. Une autre caractristique importante de Perl est son ouverture : contrairement l'immense majorit des autres langages, Perl a ds l'origine t explicitement conu pour voluer selon les commentaires des utilisateurs, pour parvenir maturit avec l'aide active de la communaut des programmeurs, ainsi que pour s'adapter tous les types d'outils et mme aux autres langages. C'est pourquoi Perl est la fois simple et de trs haut niveau. Ainsi comme principaux avantages on peut citer : Portabilit : Perl existe sur la plupart des plateformes aujourdhui (Unix, VMS, Windows, Mac, etc...) Gratuit : disponible sur Internet Simplicit : Quelques commandes permettent de faire ce qu'un programme de 500 lignes fait en C ou Pascal. Robustesse : Pas d'allocation mmoire manipuler, chanes, piles, noms de variables illimits... Accs universel aux bases de donnes. Trs pratique grce la librairie Asterisk:AGI MySQL Serveur de base de donnes MySQL offre de bonnes performances .En effet La polyvalence des plates-formes est l'un des points forts de MySQL, qui fonctionne sur toutes les dclinaisons de Linux, UNIX ou Windows. Et, bien sr, sa nature open source autorise une personnalisation complte pour les utilisateurs dsirant ajouter des fonctionnalits spcifiques au serveur de base de donnes.
Lune des raisons pour lesquelles MySQL est la base de donnes open source la plus populaire au monde est quelle est adapte tous les besoins de dveloppement dapplications. Au sein de la base de donnes, on pourra bnficier de procdures stockes, de dclencheurs, de fonctions, de vues, de curseurs, dun SQL la norme ANSI, etc. MySQL fournit galement des pilotes (ODBC, JDBC, etc.) qui permettent toutes les formes dapplications dutiliser MySQL comme serveur prfrentiel de gestion des donnes. MySQL offre aux dveloppeurs dapplications, quils travaillent en PHP, Perl, Java, Visual Basic ou .NET, tout ce dont ils ont besoin pour russir le dveloppement de leurs systmes dinformation pilots par bases de donnes.
De plus, sa gratuit est encore une fois pour nous, une raison supplmentaire.
Apres le choix des technologies pour la mise en place du serveur, nous avons adopt une arborescence.Ainsi tous les appels seront traits suivant cette dernire.
Chaque noeud de l'arborescence possde un paramtrage ce qui lui permet de guider lutilisateur afin de bien rpondre ses questions ou de transfrer son appel au bon endroit ou daccder un document prcis. Lefficacit du serveur vocal va dpendre de la rigueur avec laquelle larborescence de tous les dialogues avec le serveur vocal est conue. Cette arborescence se fera sous forme graphique c'est--dire un organigramme dtaillant tous les parcours possibles de tous les appels entrants.
Appel entrant
Message Bienvenue dans le serveur vocal de la section informatique de la FST .Apres le bip sonore, donnez votre code
doit tre associ avec un code qui doit tre unique. Ce code ainsi obtenu nous permettra de connatre la classe et les modules qui sont
tudis.
Message Appuyer sur 1 pour connatre votre note de devoir, sur 2 pour votre note de projet et sur 3 pour votre note d examen
Selon le numro qui est choisit par lutilisateur, on identifie la matire. Et aprs cela on lui demande le type de note quil veut connatre.
Message Votre note est Selon le choix qui a t fait, on fait un accs en base de donnes pour rcuprer la note correspondant aux diffrents choix effectus.
NOTE
Version installe : asterisk-perl-0.01.tar.tar Installation du module Perl:DBI Dans notre application nous aurons besoin de nous connecter une base de donnes Mysql, sous Perl on devra installer un module pour la connexion qui sera une sorte de driver. Version installe : DBI-1.37.tar.gz Cration dune base de donnes de test, elle comporte 4 tables fonctionnelles.Mais il faut noter quelle ne constitue pas la base de donnes dfinitive car ne servant ici que dun support pour exploiter le serveur vocal. Lapplication ainsi dveloppe est sous forme de script .Ce script doit tre excutable et dpos au niveau du rpertoire /var/lib/asterisk/agi-bin/. Pour tre accessible via un tlphone, lapplication vocale doit tre associe un numro.Et doit tre mis au niveau du fichier extensions.conf. Par exemple: exten =>4010, 1, Agi (serveur.agi) Ici lapplication est nomme serveur.agi, et correspond au numro 4010.
Ainsi pour utiliser lapplication les tapes suivantes doivent tre effectues:
1. Saisie du numro
ASTERISK
2. Redirection vers lappli 3. Message de bienvenue et demande du code 4. Saisie du code par lappelant 5. Enonciation des matires et demande dun choix 6. Saisie du choix 7. Enonciation des types de note et demande dun choix 8. Saisie du choix 9. Enonciation de la note
APPLICATION
Etant dans un cas atypique, cest dire une application non classique qui ne prsente aucune interface de saisie, nous avons fait des captures dcran lors de la rception dun appel du serveur. Dmarrage du serveur Asterisk :
Lapplication prsente ci-dessus nous montre que le couplage TelephonieInformatique est bien une ralit.Mais il faut noter que lapplication est loin dtre termin, car il ne sagit que dun module qui rpond de manire partielle aux attentes du projet.
III.1. Problmatique
En effet, Asterisk prsente plusieurs fonctions qui permettent de mettre en place un serveur vocal.Cependant, il ne dispose pas encore de fonction capable de prononcer des mots. Il comporte nanmoins deux autres fonctions capables de dialoguer avec lutilisateur, qui sont saynumber () et saydigit ().Mais ces fonctions ne permettent dnoncer respectivement que des nombres et des chiffres. En dfinif chaque fois que lon voudra noncer un mot lutilisateur, le concepteur de lapplication devra lenregistrer au pralable.Dans notre cas, o on doit manipuler des matires et des classes, on devra son.Ce qui enregistrer tous ces lments sous forme de fichier est enregistr dans la base de est trs fastidieux et fait galement que lapplication nest pas du tout
donnes, il faudra retoucher au code pour pouvoir le prendre en compte. Ainsi dans le but de rendre plus volutif notre application, et de prendre en compte dans une certaine mesure les besoins du projet, on se pose la question savoir comment permettre la prononciation de mots sans quils ne soient prenregistrs lavance ? Le schma ci-dessous montre de manire explicite la problmatique
APPEL
REQUETE APPLICATION BASE DE DONNEES RESULTAT Lire Rsultat Si rsultat =nbre ASTERISK Si rsultat =mot SUCCES
ECHEC
III.2. La solution
Comme nous le savons, le moteur de synthse vocale (TTS : text to speech) permet de transformer du texte en voie.Donc il est clair que celui Asterisk nest capable transformer que des chiffres et des nombres. Le travail que nous allons mener sattachera remplacer le TTS de Asterisk par un autre TTS capable de lire nimporte quel lexme (mots, nombres, chiffres.),ce synthtiseur vocal ayant t prcdemment dvelopp au niveau du projet . de
Comme expliqu prcdemment dans notre propos, toutes les matires conformment la figure ci-dessous.
devront tre
Appel entrant
Message Bienvenue dans le serveur vocal de la section informatique de la FST .Apres le bip sonore, donnez votre code
Message Appuyer sur 1 pour connatre votre note de devoir, sur 2 pour votre note de projet et sur 3 pour votre note d examen
Figure 18: Nouvelle Arborescence Nous avons opt dintgrer le TTS au sein mme de lapplication.Donc toutes les transformations se feront dans le code de lapplication.En effet, PERL nous permet dexcuter des commandes systme . Pour la mise en uvre proprement dite, les tapes suivantes ont t effectues : Installer le JDK 1.5 Installer la base de donnes de lapplication Invoquer le nouveau TTS dans notre programme Lui donner en entre le rsultat de notre requte Rcupration du fichier son gnr Transformer lextension .WAV en .GSM Et enfin lecture du fichier son
Conclusion Partielle
Au terme de cette tude savoir : Effectuer un choix sur les diffrentes technologies utiliser pour
limplmentation du serveur vocal interactif. Ltude et limplmentation de la premire application vocale,cette application mise en uvre grce Asterisk nest quun module mais rpond nanmoins nos besoins car permettant dextraire des notes en base de donnes et de lnoncer lappelant,ceci rappelons le tait notre souci majeur.
Limplmentation dune deuxime solution permettant de lire nimporte quel lexme sans avoir enregistrer au pralable ce mot ou phrase sous forme de fichier son. On peut dire que lintgration du nouveau synthtiseur nous a permis damliorer lvolutivit de lapplication .En effet toute les matires et classes se trouvant dans la base de donnes nauront plus besoin dtre numres un un dans le code.Cette amlioration influe galement dans la longueur du code.
Bilan du stage
En regard de mon stage, je dois avouer que celui-ci ma donn normment de travail de recherche (en conception et en implmentation surtout) parfois insurmontables, mais au final, bilan positif dans lensemble, car cela a t un long moment dapprentissage, dacquisition de connaissances et dexprience. Stage caractre exploration scientifique, jai pu participer la clarification des diffrentes technologies et mthodologies adaptes pour llaboration dun serveur vocal interactif et surtout au dveloppement dapplications vocales. Pour le centre de ressources en TIC de la section Informatique, ce stage apporte une exprience notable sur les possibilits actuelles de la tlphonie sur IP et des serveurs vocaux. Ceci pourra permettre de faire voluer sa comptence technologique et pouvoir dans le futur proposer des solutions faciles dutilisation pour rpondre aux attentes des populations analphabtes
En dfinitif on peut dire que les serveurs vocaux sont promus un bel avenir en ce sens quils proposent des solutions accessibles un plus grand nombre dutilisateurs mais ncessitent un plus grand investissement pour pouvoir en tirer le maximum de profit.
Rfrences Webographiques
Asterisk http://www.voip-info.org/wiki-Asterisk http://www.digum.com Websphere http://www-306.ibm.com/software/websphere/ Bayonne http://www.voip-info.org/wiki/view/Bayonne Perl http://www.asterisk-france.net/forum/ http://www.commentcamarche.net/perl/perlintro.php3
Mysql http://dev.mysql.com/downloads/
Glossaire
API : Application Program Interface. Cest une Bibliothque de fonctions destines tre utilises par les programmeurs dans leurs applications. Ccscript : Cest un langage tout comme le C++ Standard. Sous GPL, la bibliothque de classes ccScript fournit une machine virtuelle (VM) pour les applications tempsrel dans les systmes pilots par avertissement de changement d'tat. Ce langage de script assembleur est utilis par GNU Bayonne et d'autres parties du projet GNU pour les scripts d'interaction avec l'utilisateur. Codecs : COmpression et DECompression.C'est un procd logiciel (une 'formule mathmatique automatise') encodant des informations travers un logiciel afin de diminuer le volume de stockage occup initialement sur les diffrents supports DVD, CD, disques durs, disquettes...En dautres termes les codecs sont des algorithmes utiliss pour la compression et la dcompression.Il existe toute sorte de codecs, certains dentre eux permettent de meilleure transmission travers le compresser la voix pour une le mme principe de net.Sur
compression/dcompression, on trouve aussi les codecs dit "matriel" (hard). CVS : Concurrent Versions System.Cest un systme de gestion de configuration qui permet de tracer les modifications apportes un logiciel tout au long de son cycle de vie (de la conception la maintenance). Cet outil est notamment particulirement bien adapt pour grer les problmatiques lies aux dveloppements mens en parallle. Dial Plan : Cest le plan de numrotation de Asterisk.Il est manipul grce au fichier extensions.conf et permet de faire le traitement des appels. Gateway : Un Gateway est un quipement, un ordinateur qui permet de faire transiter des communications tlphoniques travers plusieurs type de rseaux tels que le rseau traditionnel de tlphonie (le rseau RTC) et le rseau Internet. Plus gnralement un gateway est un quipement permettant deux rseau diffrents de communiquer. Certains sont bidirectionnelles, d'autres unidirectionnelles. IAX : Inter-Asterisk eXchange. Ce protocole permet la communication entre deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk. IBM : International Business Machines.Cest une socit multinationale amricaine prsente dans les domaines du matriel informatique, du logiciel et des services
informatiques.La socit est ne le 15 juin 1911 de la fusion de la Computing Scale Company et de la Tabulating Machine Company sous le nom de Computing Tabulating Recording Company (CTR). Celle-ci a chang de nom pour devenir International Business Machines Corporation le 14 fvrier 1924. ISDN : Integrated Services Digital Network. Equivalent en anglais de RNIS pour Rseau Numrique Intgration de Services. Liaison de communication sappuyant sur le rseau de lignes tlphonique, dbit jusqu 128 Ko/s. JDK : Java Development Kit. Logiciel dit par Sun pour le dveloppement dapplication en Java. Middleware : Logiciel assurant le dialogue entre diffrentes applications ou portions d'une mme application rparties sur plusieurs postes, clients ou serveurs. Il permet le fonctionnement de plusieurs ordinateurs en coordination, en attribuant chacun une tche spcifique, comme les changes avec les utilisateurs, l'accs aux bases de donnes ou aux rseaux.i Open source : L'expression Open Source caractrise les logiciels dont le code source est visible, modifiable et librement redistribuable sous certaines conditions, ces conditions peuvent tre plus ou moins strictes. PABX : Private Automatic Branch eXchange.Plus connu sous le nom de standard tlphonique, il sagit gnralement dun botier ou dun coffret central assurant le lien entre le rseau tlphonique de loprateur et les communications internes de lentreprise. Grce lui, tout appel est achemin son destinataire ou stock sur une messagerie en cas dabsence de ce dernier. Il peut galement sagir dune tlcopie ou de tout autre fichier, le PABX grant aussi bien la voix que les donnes. Protocole : Spcification d'un dialogue entre plusieurs ordinateurs qui s'changent des donnes. Serveur de base de donnes : serveur qui contient la base, et seul l'administrateur du systme y aura accs. Les utilisateurs y feront appel par l'intermdiaire d'un frontal (programme ou ensemble de page-cran servant d'interface entre l'utilisateur et un systme plus gros). TCP/IP : Transmission Control Protocol/Internet Protocol. Protocole utilis sur le rseau Internet pour transmettre des donnes entre deux machines. Protocole de transport, TCP prend sa charge l'ouverture et le contrle de la liaison entre deux
ordinateurs. Protocole d'adressage, IP assure le routage des paquets de donnes. A voir comme un langage universel permettant deux machines de communiquer entre elles peu importe leur systme d'exploitation. WI-FI : Wireless Fidelity ou Ethernet sans fil. Rseau local de type Ethernet accs sans fil qui permet d'obtenir des dbits pouvant atteindre 11 Mbit/s thorique (soit 5 Mbit/s rpartis entre les utilisateurs connects) dans une bande de frquences de 2,4 Ghz. Le matriel WI-FI respecte la famille de normes 802.11 de l'IEEE pour la communication sans fil dans un rseau Ethernet. XML : eXtended Markup Language. Langage de description des documents qui utilise des balises, permet l'utilisation de balises personnalises et permet l'change des donnes.
Annexes
Annexe 1 : Quelques codes de cration des tables de la base de donnes Annexe 2 : Quelques codes de lapplication
Annexe 1
Quelques codes de cration des tables de la base de donnes Table Etudiant table etudiant(numerocarte
create
varchar(50),nom
varchar(50),prenom
varchar
(50),datenaissance varchar(50),codeserver varchar(4) not null ,classe varchar(50),primary key (codeserver)); Table Classe create table classe(codeclasse varchar(50) not null ,classe varchar(50),primary key (codeclasse)); Table Matiere create table matiere(codematiere varchar(50) not null ,classe varchar(50),matiere varchar (50),note varchar(20),primary key (codematiere)); Table Note create table note(codenote varchar(50) not null ,codeserver varchar (50),typenote varchar(20),note REFERENCES etudiant(codeserver),primary key (codenote)); varchar(4),codematiere KEY (code_server) varchar(20),FOREIGN
Annexe 2
Quelques codes de lapplication
Entte du script et la chane de connexion de la base de donnes use Asterisk::AGI; my $AGI = new Asterisk::AGI; my $dsn = "dbi:mysql:database=servervocal;host=localhost"; my $user="root"; my $dbh = DBI->connect($dsn, $user, $pass); Pour rpondre un appel $AGI->answer (); Pour lire un fichier son $AGI->exec('Playback','/var/lib/asterisk/sounds/message1'); Pour rcuprer le choix effectu par lappelant my $code = $AGI->get_data("/var/lib/asterisk/sounds/beep",1000000000000,4); Pour excuter une requte SQL my $st1 = $dbh->prepare(" SELECT classe FROM etudiant where codeserver='$code'"); $st1->execute(); my $classe=$st1->fetchrow_array; $st1->finish; Pour invoquer notre synthtiseur vocal system("/usr/local/jdk1.5.0_09/bin/java -jar /var/lib/asterisk/agi-bin/AcaciaTTS.jar 2 lire.wav $matieres [0]");
Pour transformer lextension du fichier son (.wav en .gsm) system("/usr/local/bin/sox /var/lib/asterisk/agi-bin/wavFile.wav -r 8000 /var/lib/asterisk/sounds/messagematiere.gsm resample -ql");