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.