reCoNNaiSSaNCe VoCaLe
Transcription
reCoNNaiSSaNCe VoCaLe
Reconnaissance vocale Optimiser le taux de reconnaissance vocale et personnalisation des ordres reconnus. WinDev permet, simplement, de piloter les applications à la voix. Mais il est également possible de gérer la reconnaissance vocale par programmation afin de gérer des cas complémentaires ou d'améliorer le taux de reconnaissance vocale de l'application. Projet d'illustration Le projet utilisé pour illustrer ce sujet est "WD Commandes vocales" (présent sur le DVD). Il s'agit de l'exemple livré en standard dans le produit, modifié pour ce support de cours. Les manipulations décrites dans cet article reposent sur ce projet. Utilisation de la reconnaissance vocale Le pilotage des applications à la voix nécessite la présence sur le poste d'un logiciel de reconnaissance vocale. Windows Vista dispose d'une reconnaissance vocale en standard. Pour les autres systèmes d'exploitation, il suffit d'installer un logiciel de reconnaissance vocale. La reconnaissance vocale est parfois assez sensible : il est parfois nécessaire de répéter une phrase pour que celle-ci soit entendue correctement par la machine. Notre astuce Pour améliorer la compréhension de la reconnaissance vocale, il est conseillé d'effectuer les didacticiels et exercices proposés par le logiciel de reconnaissance vocale. Commandes vocales "basiques" Les applications développées avec WinDev acceptent automatiquement les commandes vocales. La reconnaissance vocale s'appuie simplement sur le libellé des boutons de l'application. La fenêtre "FEN_Exemple" du projet "WD Commandes Vocales" contient des boutons ayant pour libellé "Gauche", "Droite", "Quitter" et "Revenir à l'état initial". Il suffit donc de dire "Gauche", "Droite", "Quitter", "Revenir à l'état initial" pour que le code du bouton correspondant soit automatiquement exécuté. Les applications existantes bénéficient automatiquement de la reconnaissance vocale, sans qu'aucune ligne de code ne soit ajoutée. Pour cela, il est possible d'utiliser une syntaxe particulière de la fonction WLangage AjouteCommandeVocale : AjouteCommandeVocale(... GestionVocale, "") L'appel à la fonction AjouteCommandeVocale avec, comme phrase à reconnaître, une chaine vide ("") permet à la procédure GestionVocale de "tout" écouter : pour chaque phrase prononcée, GestionVocale sera exécutée. Commandes vocales "évoluées" Dans la procédure "GestionVocale", il suffit alors de traiter la phrase prononcée pour reconnaître quelle commande vocale a pu être dite. WinDev permet également d'ajouter des commandes vocales spécifiques à chaque application. Il est en effet parfois plus simple et intuitif de parler naturellement que de prononcer le libellé des boutons. Il est nécessaire de stocker dans un tableau (un tableau associatif par exemple) toutes les commandes vocales disponibles, en phonétique, et la procédure associée à chacune. Dans la fenêtre "FEN_Exemple", plusieurs commandes vocales ont été ajoutées dans le code d'initialisation de la fenêtre. Pour ajouter une commande vocale, il suffit d'utiliser la fonction Wlangage AjouteCommandeVocale. Il suffit alors de modifier chaque mot de la phrase prononcée en la phonétique qui correspond, et de comparer la phrase ainsi obtenue avec le tableau des commandes vocales : si la commande est reconnue, la procédure associée peut être exécutée. // Pour lever le bras gauche AjouteCommandeVocale(... LèveBrasGauche, ... "Lève le bras gauche") Cette fonction accepte en paramètre : • le nom de la procédure Wlangage qui sera exécutée lors de l'appel à la commande vocale. • la phrase qui doit être prononcé pour exécuter la procédure. Dans cet exemple, si l'utilisateur prononce la phrase "Lève le bras gauche", la procédure "LèveBrasGauche" sera exécutée. Utilisation de la fonction Phonétique Il est possible de mettre en oeuve un mode "avancé" de reconnaissance vocale. Pour que la reconnaissance soit moins sensible, il suffit de gérer la phonétique des phrases dictées. 22 - TDF TECH 2008 - www.pcsoft.fr Pour améliorer encore le taux de compréhension, il est possible de supprimer les mots "parasites" qui peuvent se situer en début et fin de phrase.