Une commande vocale pour lampe ou autre charge

Cette commande permet de mettre sous tension, par la voix, une lampe ou toute charge électrique sur secteur 230 V.
Chaque commande se compose d’une séquence de deux mots préalablement enregistrés. La commande vocale utilise la technologie “Speaker Dependent” et peut être utilisée au maximum par 6 personnes différentes.


L’utilisation des paramètres biométriques d’un individu pour commander des machines est en constant progrès. Dans peu de temps, il devrait être possible de se servir des caractéristiques biométriques d’un individu (empreintes digitales, iris, etc.) pour toutes les applications où il s’agit de détecter une identité : clé, mot de passe, carte de crédit… et des modèles biométriques dynamiques dans les applications de reconnaissance des expressions du visage et de la parole. Cette dernière application a fait, en dix ans, de grands pas en avant.
La technologie de reconnaissance de la parole, déjà bien avancée sur les calculateurs, a fait une percée sur le marché des téléphones portables : on utilise la voix pour composer un numéro mémorisé. La California Sensory Inc. (pas encore très connue) a une stratégie, semble-t-il, payante : elle ne produit pas de circuits intégrés capables seulement de reconnaître la parole (comme, par exemple, OKI) ni davantage de puces en mesure seulement de parler (comme, par exemple, Winbond), mais réunit toujours les deux technologies dans une gamme de produits aux applications les plus diverses.

Notre réalisation
Le produit d’entrée de Sensory est le RSC-300, un petit microcontrôleur à 8 bits en boîtier TQFP à 64 broches dont le “diminutif” est VE-IC (Voice Extreme Integrated Circuit) pour les intimes ! En partant de ce circuit intégré, nous avons réalisé une commande vocale pour contrôler une lampe ou, plus généralement, une charge sur secteur 230 V. Le dispositif est en mesure de reconnaître une commande constituée d’une séquence de deux mots et d’inverser l’état de sa sortie.
L’étage d’entrée est donc un microphone et la sortie un triac alternativement ouvert ou fermé. L’application typique est donc la commande d’allumage d’une lampe, par exemple le lampadaire ou le lustre du salon : pour cela, il suffira de mettre en série notre appareil dans les fils d’alimentation secteur 230 V de ces luminaires. La commande vocale peut cependant être utilisée pour beaucoup d’autres applications (seule votre imagination en limitera le nombre !).
Les commandes peuvent être effectuées par un maximum de 6 personnes différentes et, à ce propos, nous devons apporter une précision. Tout dispositif capable de reconnaître la parole peut fonctionner selon deux méthodes différentes : “Speaker Independent” (indépendante de la personne qui parle), ou “Speaker Dependent” (dépendante de la personne qui parle).
La première technologie permet de distinguer (reconnaître) un mot indépendamment de qui le prononce : homme, femme ou enfant. La seconde permet de reconnaître un mot prononcé, en revanche, par une même personne : cette technologie (que nous avons implantée dans notre appareil) réclame une phase initiale d’apprentissage (“Training”). Le mot doit être appris par le dispositif afin qu’il le reconnaisse en situation réelle. Le reconnaisseur vocal peut reconnaître au maximum 12 mots composant ensuite les 6 commandes de 2 mots chacune.

Le schéma électrique de la commande vocale
Il est à la figure 1 : au module VE-M de base (U4), en bas à gauche, sont reliés 4 poussoirs, dont un reset, ainsi que 2 LED de rétroaction. La section d’entrée audio est constituée d’une capsule microphonique électret omnidirectionnelle d’une sensibilité entre –40 et –60 dB. La capsule est reliée au convertisseur A/N interne au RSC-300 par l’intermédiaire d’un condensateur de désaccouplement de 22 nF monté sur le module VE-M : à l’extérieur, il faut monter la cellule R12/C14 afin d’adapter la sensibilité du microphone à cette application.
La sortie BF du VE-M est amplifiée au moyen de l’étage U3 (TBA820M) et appliqué à un haut-parleur de 8 ohms 1 W. Le trimmer R6 permet de régler le volume. Le port P1-5 du microcontrôleur gère, à travers T1, la LED interne de l’optotriac avec “zero crossing” FC1, contrôlant à son tour le triac de puissance de 10 A, TR1. Un fusible de 2 A, sur le bornier d’entrée du secteur 230 V, protège à la fois le circuit et la charge. La section d’alimentation prévoit un transformateur 230 / 9 V, un pont redresseur à diodes et deux régulateurs de tension : un 7809 donne le 9 V nécessaire à l’alimentation de l’amplificateur U3, un LM317 produit le 3 V pour le module VE-M.

Analyse énergétique du montage

Module Voice       26 mA       @ 3 V
LED alimentation 15 mA @ V transfo
LED triac 15 mA @ 9 V
LED jaune 15 mA @ 9 V
LED rouge 15 mA @ 9 V
Amplificateur 120 mA @ 9 V
Total 206 mA 1,8 W

Figure 1 : Schéma électrique de la commande vocale.


Figure 2 : Le module VE-M.

Le cerveau du module est le circuit intégré Voice Extreme IC (VE-IC) fourni monté sur une petite platine (module) où se trouve également la mémoire “Flash” contenant le programme de la commande vocale. Le VE-IC est un microcontrôleur à 8 bits programmable en C intégrant aussi la fonction de reconnaissance de la parole.
Ici nous nous bornons à traiter le module comme un bloc de schéma électrique correspondant à un connecteur à 34 broches (voir barrette tulipe 2 x 17 broches). La broche 15 de J1 reçoit une tension d’alimentation comprise entre 2,85 et 3,3 V : vérifiez bien que sur cette broche du connecteur tulipe situé sur la platine de base se trouve une tension de 3 V exactement avant d’insérer le module (voir texte). Les broches 1, 2, 3, 7, 8, 33 et 34 sont reliées à la masse. La broche 6 (DAC-OUT) est la sortie du signal BF.
La broche 4 (MIC-IN) est l’entrée du signal microphonique.
Parmi les broches restantes, nous avons utilisé les lignes de I/O suivantes : le port P1-0 (broche 25) est relié au poussoir TOGGLE, le port P1-1 (broche 26) est connecté au poussoir LEARN/CLR, le port P1-6 (broche 31) gère la LED jaune LIGHT ON, enfin le port P1-5 (broche 30) contrôle l’état de la sortie.

Figure 3 : L’installation dans le boîtier plastique.

Quand le montage de la platine et du module est terminé, il faut les protéger par un boîtier plastique Teko Wall-4. Placez la platine bien au centre du fond sur ses 4 grandes entretoises et percez le fond de 4 trous pour visser ces dernières. Le haut-parleur est fixé, avec un peu de colle à chaud (ou autre), sur ce même fond, cône tourné vers la platine. Le couvercle supérieur servant de face avant est à percer en utilisant comme gabarit de perçage une photocopie de la face avant de la figure 4 : 3 trous de diamètres 3 mm pour les 3 LED, 4 de diamètres 5 mm pour les poussoirs, 1 de diamètre 3 mm pour le trimmer VOLUME et 1 de 7 mm pour la capsule microphonique. Enfin percez un côté de 2 trous pour le passage des 2 câbles : un cordon secteur 230 V et un cordon pour alimenter la charge (lampe ou autre).

Figure 4 : La face avant ou panneau de contrôle.

LED POWER (verte) : Indique la présence de la tension d’alimentation.
LED LIGHT ON (jaune) : S’allume en même temps que la lampe à commander.
LED RECORD (rouge) : S’allume pendant la phase d’apprentissage.
Poussoir RESET : Sert à se retrouver au début du programme.
Poussoir TOGGLE : Pour changer manuellement l’état de la sortie (allumé/éteint).
Poussoir LEARN/CLR : Si pressé en même temps que le poussoir reset, provoque la remise à zéro de la mémoire des commandes. Si pressé pendant le fonctionnement normal, active la phase d’apprentissage.

La réalisation pratique de la commande vocale
Une fois que l’on a réalisé le circuit imprimé par la méthode décrite dans l'article : "Comment fabriquer vos circuits imprimés facilement ?" (la figure 5c en donne le dessin à l’échelle 1), ou qu’on se l’est procuré, on monte tous les composants en regardant fréquemment les figures 5a et 5b et la liste des composants.
Montez tout d’abord les supports du circuit intégré U3 et du FC1 : vérifiez bien les soudures (ni court-circuit entre pistes et pastilles, ni soudure froide collée). Montez toutes les résistances sans les intervertir et en distinguant bien les deux d’1/2 W et les deux à 1 % (elles sont différentes des 1/4 de W ordinaires à 5 %). Montez tous les condensateurs en respectant bien la polarité des électrolytiques (la patte la plus longue est le “+”) : C8 et C9 sont montés couchés côte à côte. Montez le pont redresseur PT1 en respectant bien sa polarité (le “+” est à la jonction R1/C1).
Montez les deux régulateurs U1 et U2, ainsi que le triac TR1 debout, sans les confondre et semelle métallique tournée vers C3 pour U1, C6 pour U2 et vers l’extérieur pour TR1. Montez les 3 transistors BC547, méplat repère-détrompeur orienté dans le bon sens indiqué par la figure 5.
Montez le porte-fusible et le fusible de 2 A. Montez les deux gros borniers pour la charge (LOAD) et pour le secteur 230 V (MAIN), puis les deux petits pour le haut-parleur (SPK) et pour le microphone (MIC).
Montez maintenant les deux barrettes tulipes femelles au pas de 2,54 mm servant à installer le module VE-M pardessus le circuit imprimé principal (voir figure 5b-1). Montez enfin le transformateur et vérifiez bien toutes vos soudures.
Restez côté soudures et montez-y (voir photo figure 5b-2) le trimmer R6, les 4 poussoirs miniatures (appuyés à la surface du circuit imprimé) et les 3 LED rouge, jaune et verte (à environ 2 mm de la surface cuivrée).
Retournez la platine côté composants : insérez FC1 en haut à gauche dans son support (repère-détrompeur en forme de point vers R16) et U3 dans le sien à droite au milieu (repère-détrompeur en U vers C11).
Prenez ensuite un carré de feuille isolante, mica ou plastique, et collez-le sur le côté composant de la platine de manière à couvrir la section comprise entre les borniers LOAD et MAIN et l’extrémité opposée du transformateur (sur toute la largeur de la platine). Appliquez la tension secteur 230 V au bornier MAIN. Avec un multimètre, vérifiez la présence du 9 V à la sortie de U2 et du 3 V sur la broche 15 du connecteur barrette tulipe. Coupez la tension secteur 230 V et insérez le module VE-M dans son connecteur barrette tulipe (maintenez-le en place à l’aide de 4 entretoises). Rebranchez le secteur 230 V et vérifiez que la LED verte s’allume et que l’on entende dans le hautparleur la phrase : “Commande vocale en fonction”. Réglez le volume selon votre désir grâce à R6. Coupez le secteur et branchez une ampoule 230 V au bornier LOAD. Rebranchez le secteur 230 V et pressez le poussoir TOGGLE (figure 4) : l’ampoule et la LED jaune doivent s’allumer. Pressez à nouveau : l’ampoule et la LED s’éteignent. Nous pouvons alors passer à l’apprentissage vocal (“Training”).

Figure 5a : Schéma d’implantation des composants de la commande vocale pour lampe.
Les composants en jaune sont montés côté soudures.


Figure 5b-1 : Photo d’un des prototypes de la platine principale vu côté composants avec le module VE-M monté.

Figure 5b-2 : Photo d’un des prototypes de la platine principale vu côté cuivre, où sont montés le trimmer R6, les 4 poussoirs et les 3 LED.

Figure 5c : Dessin, à l’échelle 1, du circuit imprimé de la commande vocale pour lampe.

Liste des composants
R1 = 1,2 kΩ
R2 = 200 Ω 1 %
R3 = 300 Ω 1 %
R4 = 22 kΩ
R5 = 22 kΩ
R6 = 47 kΩ trimmer
R7 = 150 Ω
R8 = 56 kΩ
R9 = 1 Ω
R10 = 1 Ω
R11 = 100 Ω
R12 = (voir texte)
R13 = 4,7 kΩ
R14 = 10 kΩ
R15 = 680 Ω
R16 = 470 Ω 1/2 W
R17 = 330 Ω
R18 = 47 Ω 1/2 W
R19 = 47 kΩ
R20 = 47 kΩ
R21 = 470 Ω
R22 = 470 kΩ
C1 = 100 nF multicouche
C2 = 100 nF multicouche
C3 = 100 nF multicouche
C4 = 220 μF 25 V électro
C5 = 220 μF 25 V électro
C6 = 47 μF 25 V électro
C7 = 100 nF 63 V polyester
C8 = 100 μF 25 V électro
C9 = 47 μF 25 V électro
C10 = 220 pF céramique
C11 = 220 μF 25 V électro
C12 = 100 nF 63 V polyester
C13 = 220 μF 25 V électro
C14 = (voir texte)
C15 = 10 μF 63 V électro
C16 = 10 nF 630 V polyester
C17 = 100 nF 63 V polyester
LD1 = LED rouge 3 mm
LD2 = LED jaune 3 mm
LD3 = LED verte 3 mm
PT1 = Pont redresseur 2 A
U1 = Régulateur LM317
U2 = Régulateur 7805
U3 = Intégré TBA820M
U4 = Voice Extreme Module VE-M
T1 = NPN BC547
T2 = NPN BC547
T3 = NPN BC547
FC1 = Optotriac MOC 3041
TR1 = Triac BTA10-700
TF1 = Transfo. 230 V / 9 V
FUS1 = Fusible 2 A
P1 = Micropoussoir pour ci
P2 = Micropoussoir pour ci
P3 = Micropoussoir pour ci
P4 = Micropoussoir pour ci
MIC = Capsule électret
SPK = Haut-parleur 8 Ω 1 W

Divers :
1 Support 2 x 4 broches
1 Support 2 x 3 broches
2 Borniers 2 pôles au pas de 10 mm
2 Borniers 2 pôles
2 Barrettes tulipe femelles 17 pôles
1 Porte-fusible pour ci
4 Entretoises 13 mm
4 Entretoises 10 mm
4 Entretoises 50 mm
4 Boulons à tête fraisée 8 mm
4 Ecrous 3MA


Figure 6 : Réglage du microphone.

Pour un meilleur fonctionnement, il est conseillé de régler le gain du microphone en fonction de la distance à laquelle on veut utiliser la commande vocale. Le tableau ci-dessous donne les valeurs de R12 et de C14 en fonction de cette distance :
Distance micro/usager Valeur de R12 Valeur de C14
moins de 0,25 m 1 kΩ 0,01 μF
entre 0,25 et 1 m 1,8 kΩ 0,0068 μF
plus d’un mètre 2,7 kΩ 0,0047 μF

L’entraînement vocal
Les phases
Notre appareil utilise la technologie de reconnaissance “Speaker Dependent”, capable de reconnaître des mots (commandes) préalablement appris au moyen de la procédure “Training”.
Chaque mot est converti par “Voice Extreme” en une séquence de données numériques mémorisées dans la “fl ash” sous le nom de “Templates” (modèles). Etant donné que chaque modification de l’état de la sortie est produite par la reconnaissance d’une suite de deux mots et comme le dispositif prévoit 6 utilisateurs différents au maximum, les “templates” nécessaires pour notre application sont au maximum 12 (voir tableau 1).

Tableau 1 : Relation entre “templates” et commandes.

Par exemple, si nous voulons associer à la commande 1 la phrase “Lampe salon”, cela signifie que nous devons mémoriser en correspondance du “Prompt 1.1” le mot “Lampe” et du “Prompt 1.2” le mot “salon”. Ces deux mots sont sauvegardés respectivement dans les “templates” 1 et 2. Si l’on presse le poussoir COMMANDS, sont prononcés à la suite, de 1 à 12, les mots disponibles dans les “templates”. Chaque phase de “training” d’un mot nécessite sa répétition au moins deux fois : le logiciel prévoit une phase de répétition du mot qu’il essaie de reconnaître. Si cela aboutit, le mot est enregistré et transformé en “template”, dans le cas contraire, le dispositif dit : “répète” et ajoute si nécessaire quelques conseils comme : “plus fort” ou “plus bas”.
Quand la phase de “training” est terminée pour un seul mot, le logiciel passe automatiquement au suivant en demandant la commande suivante. Si l’on presse le poussoir COMMANDS, la procédure d’apprentissage s’achève.
Si l’on presse à nouveau le poussoir LEARN/CLR, le programme propose l’apprentissage du “template” suivant.
Quand on arrive au douzième “template”, la pression sur LEARN/CLR n’a plus aucun effet. Les “templates” peuvent être effacés en maintenant pressée le poussoir LEARN/CLR quand on alimente le circuit ou à la suite d’un reset : presser et maintenir pressé LEARN/CLR, presser et relâcher RESET, attendre l’émission d’un bip, relâcher LEARN/CLR. Attention, il n’est pas possible de supprimer un seul “template”, cette opération efface tous les “templates” de 1 à 12.
Donc, supposons que la mémoire “templates” soit vide (phase initiale) et qu’on veuille faire apprendre à l’appareil la commande “Lampe salon”, les phases seraient alors les suivantes :
- Presser LEARN/CLR, le dispositif dit la phrase “Prononce commande 1.1”
- Prononcer le mot “Lampe”.
- Le dispositif dit : “Répète”.
- Prononcer le mot “Lampe”.
- Si la reconnaissance n’a pas abouti, le dispositif dit : “Répète”, ou “Répète plus fort”, ou bien “Répète plus bas”. Cette demande de répétition peut être réitérée plusieurs fois (5 au maximum). Ensuite le programme abandonne la phase de “training” : cela signifie que quelque chose ne fonctionne pas correctement. Typiquement, selon les règles précisées au paragraphe suivant, une seule répétition du mot est nécessaire.
- Si la reconnaissance a abouti, le dispositif passe automatiquement au Prompt suivant en prononçant la phrase : “Prononce commande 1.2”.
- Prononcer le mot “salon”.
- Le dispositif dit : “Répète”.
- Prononcer le mot “salon”.
- Dans ce cas aussi ce que nous venons de dire reste valable, le dispositif peut demander de prononcer à nouveau le mot, ou bien il peut passer au Prompt suivant. Dans ce dernier cas, le dispositif dit : “Prononce commande 2.1”.
- Presser le poussoir COMMANDS pour terminer la phase d’apprentissage, le dispositif émet un bip.
- Presser le poussoir COMMANDS pour écouter les commandes apprises : le dispositif dit : “Lampe salon”.
Si nous activons à nouveau la phase “training”, le programme repart là où il s’est arrêté, dans notre cas il dira : “Prononce commande 2.1”. Répéter alors la procédure décrite ci-avant si l’on désire faire apprendre au dispositif d’autres mots. Prononcer le mot “Lampe”, le dispositif doit émettre un bip et la LED rouge doit s’allumer et indiquer la reconnaissance de la première partie de la commande. Prononcer avant 3 secondes le mot “salon”, le dispositif émet un bip et la sortie change d’état : la lampe s’allume si elle était éteinte et vice-versa.

Les règles
Pour obtenir un excellent fonctionnement de la commande vocale, il est important de se tenir à certaines règles pendant la phase d’apprentissage :
- Décider a priori à quelle distance du microphone nous effectuerons les commandes et sélectionner les valeurs de RX et CX avant le “training”.
- Effectuer les enregistrements dans un silence absolu, aucun bruit ambiant.
- Effectuer les enregistrements en se tenant toujours à la distance qui sera celle de la commande effective.
- Parler à la distance désirée du microphone, mais toujours en se tournant vers lui, une voix réfléchie peut engendrer un “training” incorrect.
- Pendant l’enregistrement, placer le dispositif loin des cloisons de l’appartement et se placer à la distance désirée tout en faisant en sorte qu’il n’y ait aucun obstacle entre vous et le microphone.
- Ne pas superposer le mot au Prompt prononcé par le dispositif et donc attendre environ une seconde après que le dispositif ait prononcé le Prompt (Prononce commande xx, ou Répète) : le silence n’est pas enregistré.
- Parlez sur le ton le plus naturel et le plus normal possible, ni trop lentement ni trop rapidement.
- Ne pas utiliser des monosyllabes ou des dissyllabes.
- Ne pas utiliser des mots trop semblables entre eux : le programme refuse l’apprentissage d’un mot semblable à un mot déjà présent en “template”, par exemple, “salon”/”salle”.
Si le “training” est exécuté en respectant ces quelques règles, le fonctionnement de notre dispositif vocal vous laissera muets d’étonnement !

1 commentaires:

  1. Bonjour est il possible d'avoir un système qui autorise un accès suivant un mot de passe vocal (plusieurs mots) sans limites d'utilisateurs ?

    RépondreSupprimer

Related Posts Plugin for WordPress, Blogger...