Comment implémenter une interface utilisateur vocale sur des microcontrôleurs aux ressources limitées

Avec la contribution de Rédacteurs nord-américains de DigiKey

Les haut-parleurs intelligents et autres concentrateurs connectés constituent le cœur de la maison intelligente, permettant aux utilisateurs de contrôler les appareils et d'accéder à Internet. Deux tendances se dégagent avec la généralisation de ces dispositifs : les utilisateurs préfèrent la commande vocale aux pressions sur des boutons ou aux systèmes de menus compliqués, et la connectivité continue au cloud suscite un inconfort croissant en raison de problèmes de confidentialité.

Cependant, une interface utilisateur vocale (VUI) robuste et sécurisée exige généralement un matériel puissant et des logiciels complexes pour la reconnaissance vocale. Toute autre solution risque de se traduire par des performances médiocres et une expérience utilisateur insatisfaisante. En outre, de nombreux haut-parleurs et concentrateurs intelligents sont alimentés par batterie, de sorte qu'une interface VUI doit être réalisée dans le cadre d'un bilan de puissance serré. Un projet aussi ambitieux peut être intimidant pour un développeur qui manque d'expérience en matière d'interfaces vocales.

Les fabricants de puces réagissent en introduisant une technique basée sur les phonèmes qui réduit considérablement les exigences de traitement. Il en résulte un logiciel VUI hautement précis et efficace qui peut fonctionner sur des microcontrôleurs (MCU) 32 bits familiers et qui est pris en charge par des outils de conception faciles à utiliser.

Cet article décrit les défis et les cas d'utilisation des interfaces vocales. Il présente ensuite un logiciel d'application de microcontrôleur commercial facile à utiliser et un logiciel VUI basé sur des phonèmes locaux pour les applications de maison connectée. L'article conclut en montrant aux développeurs comment démarrer des projets VUI en utilisant les microcontrôleurs, les logiciels VUI et les kits d'évaluation de Renesas.

Les défis de développement d'une interface VUI

Une interface VUI est une technologie de reconnaissance de la parole qui permet d'interagir avec un ordinateur, un smartphone, un système domotique ou un autre appareil à l'aide de commandes vocales. Après des débuts difficiles, cette technologie a évolué pour devenir une interface de commande fiable et elle est désormais largement utilisée dans les haut-parleurs intelligents et d'autres appareils domestiques intelligents. Le principal avantage d'une interface VUI est son côté pratique : commande instantanée depuis n'importe quel endroit à portée de voix sans avoir besoin d'utiliser un clavier, une souris, des boutons, des menus ou d'autres interfaces pour entrer des commandes (Figure 1).

Image de la technologie VUI ayant été largement adoptéeFigure 1 : La technologie VUI a été largement adoptée dans les maisons et les bâtiments intelligents en raison de son caractère pratique et flexible. (Source de l'image : Renesas)

L'inconvénient d'une interface VUI est sa complexité. La technologie conventionnelle repose sur le long entraînement d'un modèle avec des mots ou des expressions spécifiques. Or, le traitement du langage naturel est indépendant de l'ordre des mots, ce qui exige un travail de développement considérable et une puissance de calcul importante pour fonctionner en temps réel. Cela a ralenti l'adoption plus large des interfaces VUI.

Désormais, une nouvelle technique simplifie le logiciel VUI pour qu'il puisse fonctionner sur de petits microcontrôleurs efficaces tels que des dispositifs Arm® Cortex®-M. Cette technique repose sur le fait que tous les mots de chaque langue parlée sont constitués de sons linguistiques appelés phonèmes. Il y a beaucoup moins de phonèmes que de mots ; l'anglais en compte 44, l'italien 32 et la langue traditionnelle hawaïenne n'en compte que 14. Si une interface VUI utilise un jeu de commandes en anglais de 200 mots, chaque mot peut être décomposé en phonèmes associés à partir de l'ensemble de 44.

Dans le logiciel VUI, chaque phonème peut alors être identifié par un code numérique (ou « jeton » / « token »), les différents jetons formant le langage. Le stockage de mots sous forme de sons requiert des ressources informatiques considérables et occupe beaucoup plus d'espace mémoire que les phonèmes stockés sous forme de jetons. Le traitement des jetons de phonème (et donc des mots de commande) dans un ordre attendu simplifie davantage le calcul et permet d'exécuter le logiciel VUI localement sur un simple microcontrôleur (Figure 2).

Image de la représentation de mots à l'aide de phonèmesFigure 2 : Représenter des mots à l'aide de phonèmes nécessite moins de ressources du microcontrôleur. (Source de l'image : Renesas)

Cela signifie que l'efficacité logicielle atteinte en utilisant des phonèmes permet d'exécuter le traitement localement. Comme le traitement n'a pas lieu dans le cloud, la connectivité continue à Internet, qui pose des problèmes de confidentialité et de sécurité des données des utilisateurs, n'est pas nécessaire.

Renesas a présenté un progiciel VUI commercial basé sur le principe du phonème dans le cadre de son écosystème. Le logiciel, appelé Cyberon DSpotter, crée un algorithme VUI suffisamment rationalisé pour fonctionner sur les microcontrôleurs série RA de Renesas, dotés de cœurs Arm Cortex-M4 et M33.

Développer avec Cyberon DSpotter

Cyberon DSpotter est basé sur une bibliothèque de phonèmes et de combinaisons de phonèmes. Il s'agit d'une approche alternative à l'entraînement intensif en calcul traditionnel des algorithmes pour reconnaître des mots spécifiques. Pour décomposer les mots en phonèmes et ensuite les représenter sous forme de jetons, le développeur peut utiliser l'outil de modélisation DSpotter.

DSpotter est un logiciel embarqué (non-cloud) qui fonctionne comme un déclencheur vocal local et une solution de reconnaissance de commande avec une réduction du bruit renforcée. Il consomme des ressources minimales et est hautement précis. En fonction du microcontrôleur sélectionné, un transfert de données sécurisé peut également être mis en œuvre.

DSpotter demande chaque mot ou phrase de commande, que l'outil décompose en phonèmes. Le jeu de commandes et les données de support pour l'interface VUI sont ensuite intégrés dans un fichier binaire que le développeur inclut dans le projet avec la bibliothèque Cyberon. La bibliothèque et le fichier binaire sont utilisés ensemble sur le microcontrôleur pour prendre en charge la reconnaissance des commandes vocales souhaitées.

L'outil DSpotter crée des « CommandSets » qui peuvent être logiquement connectés par le programme du développeur pour créer une interface VUI avec différents niveaux. Cela permet des commandes à plusieurs niveaux telles que « Je voudrais que l'ampoule soit réglée à un niveau élevé, s'il vous plaît » : les mots de commande étant « ampoule », suivi de « réglée » et « élevé ». Chaque commande d'un groupe a son propre index, tout comme chaque commande d'un niveau (Figure 3).

Image de l'outil DSpotter permettant la création de « CommandSets »Figure 3 : L'outil DSpotter permet la création de « CommandSets » qui peuvent être logiquement connectés par le programme du développeur pour créer une interface VUI avec différents niveaux. (Source de l'image : Renesas)

La bibliothèque DSpotter traite le son entrant et recherche les phonèmes correspondant aux commandes dans la base de données. Lorsqu'elle trouve une correspondance, elle renvoie les numéros d'index et de groupe. Un tel arrangement permet au code de l'application principale de créer une instruction de commutation hiérarchique pour traiter les mots/phrases de commande au fur et à mesure qu'ils arrivent. La bibliothèque résultante peut être suffisamment petite pour tenir sur un microcontrôleur avec seulement 256 kilo-octets (Ko) de mémoire Flash et 32 Ko de SRAM. Le CommandSet peut croître si davantage de mémoire est disponible.

Il est important que le développeur comprenne qu'il existe des limites à la méthode des phonèmes pour une interface VUI. Les ressources relativement limitées du microcontrôleur imposent que Cyberon DSpotter soit une reconnaissance de la parole plutôt qu'une reconnaissance de la voix. Cela signifie que le logiciel ne peut pas effectuer de traitement du langage naturel. Ainsi, si les mots de commande ne suivent pas une séquence logique (par exemple, « élevé », « ampoule », « réglée » au lieu de « ampoule », « réglée », « élevé »), le système ne reconnaît pas la commande et est réinitialisé au niveau supérieur.

Une suggestion de conception consiste à ajouter un indicateur visuel à l'interface VUI (par exemple, une LED) pour indiquer quand le processeur suppose qu'il se trouve au niveau supérieur de CommandSet, invitant l'utilisateur à réémettre la commande dans la séquence logique (Figure 4).

Image de la nature rationalisée de Cyberon DSpotterFigure 4 : La nature rationalisée de Cyberon DSpotter nécessite que les commandes suivent une séquence logique, sinon elles ne seront pas reconnues. (Source de l'image : Renesas)

Exécuter une interface VUI non-cloud avec des ressources restreintes

L'efficacité de Cyberon DSpotter permet son utilisation sur les microcontrôleurs Arm Cortex-M séries RA2, RA4 et RA6 de Renesas. Ces microcontrôleurs sont populaires pour un large éventail d'applications grand public, industrielles et IoT. Ils sont soutenus par des outils de conception faciles à utiliser, de sorte qu'il est relativement aisé de créer une interface VUI simple sans avoir besoin d'une grande expérience de codage ou d'une expertise interne.

Le choix d'un microcontrôleur spécifique de la famille RA dépend principalement de la complexité des commandes et de la taille de la bibliothèque Cyberon. Un interrupteur d'éclairage intelligent, qui requiert un jeu de commandes modeste et une puissance de calcul limitée pour fonctionner efficacement, peut être basé sur le R7FA4W1AD2CNG de la famille RA4. Ce microcontrôleur est doté d'un cœur Arm Cortex-M4 de 48 mégahertz (MHz), soutenu par 512 Ko de mémoire Flash et 96 Ko de SRAM. Il comprend un contrôleur LCD à segments, une unité de détection tactile capacitive, une connectivité sans fil Bluetooth Low Energy (Bluetooth LE), un port USB 2.0 pleine vitesse, un convertisseur analogique-numérique (CAN) 14 bits, un convertisseur numérique-analogique (CNA) 12 bits et des fonctionnalités de sécurité et de sûreté (Figure 5).

Schéma du microcontrôleur R7FA4W1AD2CNG de RenesasFigure 5 : Le microcontrôleur R7FA4W1AD2CNG fournit de nombreuses ressources pour créer une interface VUI non-cloud pour des applications telles qu'un interrupteur d'éclairage intelligent. (Source de l'image : Renesas)

Une bibliothèque Cyberon DSpotter plus étendue et un cœur plus puissant sont requis pour une application telle qu'un haut-parleur intelligent. Un candidat approprié est le R7FA6M4AF3CFM. Ce microcontrôleur de la famille RA6 est doté du cœur Arm Cortex-M33 200 MHz plus puissant, soutenu par 1 méga-octet (Mo) de mémoire Flash et 256 Ko de SRAM. Il offre un bus CAN, Ethernet, I²C, un bus LIN, une unité de détection tactile capacitive et de nombreux autres périphériques et interfaces.

Les familles RA4 et RA6 sont soutenues par les cartes d'évaluation RTK7EKA4W1S00000BJ et RTK7EKA6M4S00001BE, respectivement, pour permettre à un développeur de tester les capacités des microcontrôleurs. Chaque carte d'évaluation est équipée du microcontrôleur cible et d'un débogueur intégré.

Renesas propose également un kit de solutions VUI pour accélérer le développement. Le kit est similaire aux cartes d'évaluation dans le sens où il intègre le périphérique cible et les débogueurs. La carte dispose également de plusieurs interfaces E/S et de quatre microphones : deux analogiques et deux numériques.

L'accès aux logiciels nécessaires au développement avec le kit de solutions VUI est disponible sur le site Web de Cyberon. Cela inclut l'accès gratuit à l'outil de modélisation Cyberon DSpotter et un projet e2 studio avec un CommandSet vocal fonctionnel (e2 studio est un environnement de développement intégré (IDE) basé sur Eclipse pour les microcontrôleurs Renesas). Le CommandSet d'exemple peut être utilisé comme modèle pour développer des séquences de commandes vocales personnalisées. Les réactions du système peuvent ensuite être surveillées à l'aide d'une fenêtre de terminal. Il faut généralement environ 15 minutes pour créer la structure VUI illustrée à la Figure 4.

La conception de logiciels d'application plus sophistiqués pour le pack Cyberon est prise en charge par le progiciel Renesas Flexible Software Package (FSP) de la société pour les conceptions de systèmes embarqués utilisant les familles RA. Le FSP est basé sur un écosystème logiciel ouvert et inclut Azure RTOS ou FreeRTOS, le code existant et des écosystèmes tiers. Il peut fonctionner dans plusieurs IDE, notamment e2 studio.

Quelles sont les performances de l'interface VUI ?

C'est une chose qu'une interface VUI fonctionne bien dans un laboratoire silencieux, mais une autre qu'elle fonctionne avec précision avec un bruit de fond important. Un environnement de fonctionnement typique pour un haut-parleur intelligent peut inclure une télévision ou une radio, des conversations, d'autres sources de musique et le brouhaha général d'un foyer ou d'un rassemblement social. De plus, l'interface VUI doit composer avec des dialectes et une diction imparfaite. Malgré ces défis, les utilisateurs s'attendent à des performances quasi irréprochables.

Pour améliorer les performances dans un environnement d'écoute difficile, le logiciel Cyberon DSpotter, exécuté sur les microcontrôleurs de la famille RA de Renesas, inclut des fonctionnalités d'immunité au bruit qui nécessitent un minimum de ressources processeur. Pour démontrer son efficacité, des tests ont été effectués avec une interface VUI Cyberon DSpotter écoutant des commandes tout en étant exposée à diverses sources de bruit de fond à des distances de 1,5 mètre (m) et 3 m, et avec des rapports signal/bruit (SNR) de 0, 5 et 10 décibels (dB). Dans tous les cas, l'interface VUI a surpassé l'indice de référence Amazon Alexa (Tableau 1).

SNR Bruit de fond Distance Taux de réussite Exigences Alexa
(propre) Aucun 1,5 m 100,00 % 90 %
(propre) Aucun 3 m 100,00 % 90 %
10 dB Conversation 1,5 m 98,55 % 80 %
10 dB Conversation 3 m 98,84 % 80 %
10 dB Musique 1,5 m 98,26 % 80 %
10 dB Musique 3 m 98,55 % 80 %
10 dB TV 1,5 m 98,84 % 80 %
10 dB TV 3 m 98,55 % 80 %
5 dB Conversation 1,5 m 98,84 % 80 %
5 dB Conversation 3 m 96,24 % 80 %
5 dB Musique 1,5 m 98,84 % 80 %
5 dB Musique 3 m 97,08 % 80 %
5 dB TV 1,5 m 93,37 % 80 %
5 dB TV 3 m 90,72 % 80 %

Tableau 1 : Résultats des tests de réussite des commandes pour une interface VUI avec Cyberon avec diverses sources de bruit de fond. Dans tous les cas, l'interface VUI a surpassé l'indice de référence Amazon Alexa. (Source de l'image : Renesas)

Conclusion

Les interfaces VUI deviennent progressivement les interfaces de commande privilégiées des consommateurs pour les produits intelligents. Une approche de commande vocale utilisant des phonèmes comme base de commandes et une structure de commande rigoureuse peut réduire considérablement les besoins en mémoire et en calcul, permettant à la technologie de s'exécuter localement sur de petits microcontrôleurs aux ressources limitées.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey