Recherche de site Web

J'ai abandonné « Okay Nabu » après avoir entraîné mon propre mot d'activation pour Home Assistant


Home Assistant a son propre assistant vocal appelé Assist. Il est livré avec quelques mots d'activation pré-entraînés que vous pouvez utiliser pour les commandes vocales, y compris "Okay Nabu", "Hey Jarvis" et "Hey Mycroft". Je voulais créer mon propre mot d'activation personnalisé, et le faire a été beaucoup plus facile que je ne l'attendais.

Entraîner un mot de réveil est plus facile que ça en a l'air

Aucune connaissance préalable ni matériel puissant requis








J'avais toujours supposé que former mon propre mot d'éveil personnalisé serait un processus chronophage nécessitant un matériel assez puissant et prendrait des heures à compléter. En fait, vous pouvez tout faire via un navigateur sans qu'aucun traitement n'ait lieu sur votre appareil. Vous pourriez, en théorie, le faire sur votre téléphone, bien que cela puisse être un peu délicat.

L'ensemble du processus s'exécute dans un notebook Google Colab fourni par l'équipe de Home Assistant. C'est une page web qui contient tout le code et les instructions dont vous avez besoin pour créer un mot d'éveil personnalisé, le code s'exécutant sur les ordinateurs de Google au lieu des vôtres.

La première section est celle où vous entrez votre mot de réveil personnalisé. Exécuter cette section installe les outils nécessaires puis génère une version parlée de votre mot de réveil. Si cela ne sonne pas correctement, vous pouvez répéter le processus en utilisant une orthographe phonétique jusqu'à ce que le mot de réveil généré sonne comme vous le souhaitez.

La section suivante télécharge des échantillons audio de choses telles que le bruit de fond, la musique et l'écho de la pièce. Ils sont utilisés pour rendre les échantillons sur lesquels le mot de réveil personnalisé sera entraîné aussi réalistes que possible. Il faut environ 15 minutes pour tout télécharger.

La section finale entraîne le modèle. Elle crée plusieurs fichiers audio de votre mot d'activation personnalisé étant prononcé, avec différents bruits de fond ajoutés. Ces fichiers audio sont ensuite utilisés pour entraîner votre modèle à reconnaître le mot d'activation, même à travers le bruit de fond.

Dans l'ensemble, le processus a pris environ une heure en utilisant les paramètres par défaut. Une fois terminé, vous obtenez votre mot de réveil personnalisé enregistré dans deux formats différents : TensorFlow Lite et Open Neural Network Exchange (ONNX).

Ajouter le mot de réveil à Home Assistant est simple

Déposez le modèle dans le dossier et redémarrez openWakeWord

Je voulais créer un mot de réveil pour me sentir comme David Hasselhoff dans K 2000. Il pouvait parler à sa voiture artificiellement intelligente, KITT, soit via l'écran tactile de la voiture, soit via sa montre, alors j'ai utilisé Google Colab pour entraîner « Hey KITT » comme mon mot de réveil.

Tout d'abord, j'ai dû installer le module complémentaire openWakeWord sur Home Assistant. C'est un logiciel qui permet à Home Assistant d'écouter les mots d'activation. Une fois installé, j'ai déposé le fichier hey_kitt.tflite dans Home Assistant. J'ai utilisé le module complémentaire Samba pour l'ajouter au répertoire /share/openwakeword.

J'ai ensuite configuré un nouvel assistant vocal dans Home Assistant. Dans le menu à trois points de la fenêtre Ajouter un assistant, il y a une option Ajouter un mot de réveil en streaming. La sélection de cette option m'a permis de choisir openWakeWord comme moteur de mot de réveil, et Hey KITT était disponible à sélectionner dans la liste des mots de réveil pris en charge.

Mon enceinte intelligente ne pouvait pas utiliser facilement un modèle personnalisé

J'ai plutôt testé les mots d'activation sur mon Mac

J'ai un haut-parleur intelligent pour Assist construit avec un ReSpeaker Lite, mais celui-ci utilise la détection de mot d'activation sur l'appareil, donc mon modèle openWakeWord n'était pas adapté. Pour tester mon mot d'activation, j'ai décidé de configurer mon vieux iMac comme satellite vocal.

Mon vieil iMac n'était pas adapté aux nouvelles options de satellites vocaux basées sur ESPHome, donc j'ai dû le configurer en utilisant l'intégration obsolète du protocole Wyoming. Après quelques ajustements, j'ai pu déclencher Assist en disant « Hey KITT », et je pouvais faire des choses comme allumer et éteindre les lumières, mais je n'ai pas réussi à faire fonctionner les réponses audio, donc je ne pouvais pas entendre les sons de confirmation ni les réponses parlées d'Assist.

J'ai ensuite réessayé sur mon MacBook Air M2, qui pouvait exécuter le logiciel Linux Voice Assistant pour me permettre d'utiliser mon Mac comme un satellite vocal. En utilisant LVA, j'ai pu entendre les sons et les réponses d'Assist à travers les haut-parleurs de mon MacBook.

Les résultats étaient plutôt solides

Je me suis finalement senti comme David Hasselhoff

La configuration de Google Colab a des paramètres par défaut pour l'entraînement, mais indique que l'utilisation de plus d'exemples et de plus d'étapes d'entraînement améliorera le modèle. Cependant, cela prendra beaucoup plus de temps. Ayant utilisé les paramètres par défaut, j'étais assez sûr que le mot de réveil ne serait pas très efficace. J'ai été agréablement surpris de constater qu'il fonctionnait beaucoup mieux que ce à quoi je m'attendais.

Dire « Hey KITT » fonctionnait presque à chaque fois, et même avec de la musique en cours de lecture, le mot d'activation était reconnu. Je pouvais dire « Hey KITT » et demander que la lumière soit éteinte ou une autre commande de maison connectée, et cela se produisait en une ou deux secondes. Je savais enfin ce que c'était que d'être Michael Knight ; maintenant, il me suffit de faire en sorte qu'Assist ressemble à William Daniels.


Dire « Okay Nabu » a toujours semblé étrange

Alexa n'est pas le meilleur mot de réveil, mais "Okay Nabu" a toujours semblé être un choix étrange. Bien que "Hey Jarvis" soit mieux, c'est agréable de pouvoir créer son propre mot de réveil. Le faire est beaucoup plus facile que je ne l'avais jamais imaginé.

Articles connexes