Sommaire
Cet article est une traduction de l'article du blog décrivant l'évolution d'Assist au cours des 2 dernières années, rédifé par Mike Hansen, publié sur le site Home-Assistant.
En complément la lecture de ce billet de blog de Nabu Casa, l'équipe de HACF veut aussi vous présenter le test que nous avons mené, en avant première, de ce nouvel équipement :
Place à l'article du blog Home Assistant :
Comme vous l'avez probablement déjà lu, nous avons lancé aujourd'hui notre Home Assistant Voice Preview Edition. Il s'agit de l'aboutissement de plusieurs années de progrès en matière de logiciels libres sur l'assistant vocal de Home Assistant, Assist. Un groupe important de développeurs dévoués a travaillé ensemble à l'ajout et au perfectionnement de ses nombreuses fonctionnalités, et si cela fait un moment que vous n'avez pas essayé Assist, vous devriez profiter de ce lancement pour vous y replonger et voir les progrès que nous avons réalisés.
Le Home Assistant Voice Preview Edition a été lancée pour poursuivre ce travail, continuer sur notre lancée et accélérer notre objectif qui est non seulement d'égaler les capacités des assistants vocaux existants, mais de les surpasser. Nous avons produit une première version de Voice Preview Edition (une version préliminaire 😉 ), et nous avons essayé de la mettre entre les mains du plus grand nombre possible de nos responsables linguistiques et de nos développeurs vocaux - et nous voyons déjà les fruits de leurs efforts avec l'amélioration de la prise en charge des langues au cours du seul mois dernier !
J'aimerais souligner dans ce chapitre sur la voix toutes les choses que vous pouvez faire avec Assist aujourd'hui. J'aimerais également vous présenter l'état de notre développement, les limites et les domaines dans lesquels votre soutien peut être le plus utile.
L'assistance à domicile aujourd'hui
Origine de l'assistance
La commande vocale de l'assistant domestique remonte à plus loin que la plupart des gens ne le pensent, certaines des bases que nous utilisons aujourd'hui ayant été ajoutées dès 2017. Le tournant majeur s'est produit lorsque nous avons recentré nos efforts et déclaré 2023 l'année de la voix. Il s'agissait de concentrer le développement et de trouver les domaines dans lesquels notre communauté pouvait avoir le plus d'impact. Au cours de l'Année de la voix, l'Assist a été ajoutée à la voix, les intentions ont été améliorées, des langues ont été ajoutées, des mots de réveil ont été créés et nous avons mis en place d'excellentes options locales et dans le cloud pour l'exécution de la voix. Peu après l'Année de la voix, de nombreuses autres fonctionnalités ont été ajoutées, notamment l'IA intégrée, les minuteries et des mots de réveil encore plus performants. L'Année de la Voix a lancé le mouvement, et le Voice Preview Edition va continuer sur sa lancée.
Commandes
Assist est la technologie sous-jacente qui permet à Home Assistant de transformer les commandes (« allumer la lumière ») en actions (light.turn_on
). Les commandes, ou ce que nous appelons les intentions, vous permettent de contrôler pratiquement tous les aspects de votre maison intelligente, y compris l'allumage, l'extinction, la lecture, la pause, le suivant, l'ouverture, la fermeture, et bien plus encore. Nous avons également des intents qui vous donnent des informations utiles comme l'heure, la météo, la température, etc. Enfin, il y a un tas d'autres choses utiles et diverses, comme l'ajout d'éléments à une liste de courses et le réglage de minuteries. Si cela vous intéresse, vous trouverez une liste complète ici.
Minuteries
Lorsque nous avons interrogé notre communauté, les minuteries ont été l'une des fonctions les plus demandées. Vous pouvez non seulement régler un minuteur, le mettre en pause, l'augmenter, le diminuer ou l'annuler, mais aussi définir des commandes qui se déclenchent après un certain temps, par exemple « éteindre la télévision dans 15 minutes ». Vous pouvez également dire « Stop » sans mot d'ordre pour arrêter l'alarme de la minuterie. Sur notre Voice Preview Edition, lorsque vous définissez une minuterie, l'anneau LED compte les dernières secondes et clignote lorsque c'est terminé.
Exposition des appareils et des alias
C'est ce qui nous différencie des autres assistants vocaux : nous vous permettons d'exposer et de cacher efficacement des appareils à votre assistant vocal. Par exemple, vous pouvez choisir de ne pas exposer la serrure d'une porte, mais seulement le capteur qui sait si la porte est fermée. C'est vous qui décidez de ce que la voix peut faire dans votre maison. Nous avons également introduit des alias pour vous permettre de donner plusieurs noms aux appareils, ce qui vous permet de parler plus naturellement avec l'assistant.
Contexte de la pièce
Si vous indiquez à votre matériel Assist dans quelle pièce il se trouve et que vous vous assurez que les autres appareils sont organisés par pièce, vous pouvez donner des commandes telles que « éteindre les lumières », et sans rien spécifier, il éteindra les lumières de la pièce dans laquelle vous vous trouvez. Cette fonction fonctionne également avec les lecteurs multimédias (lecture/pause/suivant) et les minuteries.
Mots de réveil
Les mots de réveil sont les phrases uniques qui permettent à un assistant vocal d'écouter et de commencer à traiter une commande. À l'origine, les mots de réveil devaient être traités par l'assistant domestique via un module complémentaire tel qu'openWakeWord, ce qui signifiait que le matériel d'assistance devait transmettre un flux audio continu à l'assistant domestique. Peu après la sortie de Year of the Voice, microWakeWord a été lancé, ce qui a permis de traiter les mots de réveil sur l'appareil afin d'obtenir des réponses plus rapides. Il s'améliore rapidement grâce à notre communauté qui utilise notre outil simple et rapide pour donner des échantillons de leur voix. La liste des mots de réveil ne cesse de s'allonger, et les options sur l'appareil incluent « Okay Nabu » (par défaut et le plus fiable), « Hey Jarvis », et « Hey Mycroft ». Ces deux moteurs de mots de réveil ont été développés par la communauté Home Assistant et sont open source, offrant ainsi au monde deux excellents moteurs de mots de réveil libres et gratuits !
Traitement de la parole
L'assistant ne peut pas comprendre les mots parlés et a besoin de quelque chose pour prendre l'audio et le transformer en texte - tout cela est appelé un pipeline d'assistance. Ce traitement de la parole est très gourmand en ressources processeur, il ne peut donc pas se faire sur le matériel de l'assistant vocal, et parfois votre système d'assistance à domicile ne peut même pas le gérer. Une étape importante a été franchie avec l'ajout de fonctionnalités de synthèse vocale et de texte à texte à Home Assistant Cloud, ce qui permet au matériel d'assistant domestique de faible puissance de décharger le traitement vocal sur le cloud. Home Assistant Cloud ne stocke pas et n'utilise pas ces données pour l'entraînement - le cloud ne peut pas être plus privés que les nôtres. C'est également le moyen le plus précis et le plus économe en énergie pour traiter la parole. Nous avons déployé des efforts considérables dans le traitement local de la parole, en créant les modules complémentaires et un nouveau protocole qu'ils utilisent pour parler à Home Assistant, mais ils sont très dépendants du soutien linguistique de la communauté.
Soutien linguistique
Assist a pour objectif de prendre en charge plus de langues que les autres assistants vocaux, et cela a été une entreprise de grande envergure pour notre communauté - nous avons besoin de plus d'aide. La première étape de la prise en charge des langues est d'obtenir des commandes (intentions) correctes, et nous avons plus de 25 langues principales qui sont prêtes à être utilisées aujourd'hui. Nos mots de réveil s'améliorent également pour comprendre les différents accents grâce à notre outil Wake Word Participatif.
Synthèse vocale
Nous avons développé notre propre système de synthèse vocale, Piper, qui prend désormais en charge plus de 30 langues. Il s'agit d'un système de synthèse vocale rapide, alimenté par un réseau neuronal local, qui sonne bien et peut fonctionner sur du matériel de faible puissance (il est optimisé pour le Pi4 !). Il a été construit avec les voix de notre communauté, et si vous ne voyez pas votre langue maternelle, ajoutez votre voix !
De la parole au texte
Il y a un domaine qui retarde le reste de notre support linguistique plus que d'autres, et c'est le speech-to-text local. La construction d'un modèle complet de synthèse vocale nécessite de grandes ressources de calcul et des téraoctets d'échantillons, ce qui est actuellement hors de notre portée. Nous utilisons Whisper pour le traitement local de la parole vers le texte, un projet open-source d'OpenAI, et nous sommes reconnaissants qu'il existe. Pour certaines langues, il fonctionne très bien et ne nécessite pas beaucoup de ressources système, mais pour d'autres, il faut un système assez puissant pour obtenir des résultats acceptables. À notre avis, seule une quinzaine de langues sont prêtes à être exécutées localement sur un matériel raisonnable (un Intel N100 ou mieux) - c'est pourquoi, avant de commencer à rêver de votre parfaite configuration entièrement locale, nous vous recommandons de vérifier la prise en charge de la langue.
Nous sommes toujours à la recherche de nouvelles solutions pour le matériel de faible puissance, et nous construisons actuellement un autre outil qui utilise une reconnaissance de phrases beaucoup moins complexe. Cet outil pourrait même fonctionner sur un Raspberry Pi 4, mais il ne serait capable d'identifier que des phrases prédéfinies, de sorte que si vous vous écartez du script, vous devrez peut-être faire appel à une IA pour aider Assist à comprendre vos besoins. Nos responsables linguistiques travaillent d'arrache-pied pour mettre au point les traductions nécessaires, mais si vous voulez en savoir plus, visitez Rhasspy Speech.
En général, même si votre langue est prise en charge, vous obtiendrez presque toujours de meilleurs résultats avec Home Assistant Cloud. Utilisez l'essai gratuit pour voir ce qui vous convient le mieux. Nous connaissons quelqu'un qui utilise une automatisation pour basculer le pipeline d'assistance vers une configuration entièrement locale lorsque l'internet est en panne.
IA et Assist
L'intégration de l'IA dans notre assistant vocal est un autre aspect sur lequel nous nous démarquons nettement de la concurrence. Vous pouvez choisir parmi les plus grands fournisseurs d'IA en cloud comme ChatGPT, Google Gemini et Claude (comptes payants requis). Vous pouvez également l'exécuter localement via Ollama si vous disposez d'un processeur graphique moderne avec suffisamment de VRAM, ce qui vous permet de construire la configuration vocale hors ligne la plus performante qui soit.
Nos intentions (les phrases intégrées d'Assist) comprennent de mieux en mieux la plupart des commandes, mais l'IA traite les commandes en langage naturel, ce qui signifie que si vous vous trompez légèrement sur le nom de l'appareil, elle peut toujours comprendre. Elle permet également de poser des questions en dehors des intentions intégrées. Par exemple, si vous lui dites « Il fait un peu froid ici », il peut augmenter la température de votre thermostat, mais il peut aussi renoncer à tout contrôle de la maison et vous dire simplement de mettre une veste - les résultats ne sont pas encore cohérents. Ce qui est plus utile, c'est sa capacité à prendre en compte plusieurs capteurs et à fournir un contexte. Par exemple, vous pourriez lui demander un rapport sur la qualité de l'air, et il pourrait examiner les niveaux de CO2 et vous dire d'ouvrir une fenêtre qu'il observe être fermée. Tout cela est expérimental et le fait qu'une IA contrôle votre maison ne convient pas à tout le monde, mais ce qui est important, c'est que vous ayez le choix.
Conclusion
De nombreuses innovations et améliorations ont été apportées à Assist au cours des deux derniers mois, ce qui témoigne de l'importance de disposer d'un matériel de qualité pour développer nos logiciels. Voice Preview Edition est le meilleur matériel vocal ouvert disponible aujourd'hui, et même s'il n'est entre les mains que de quelques centaines de personnes aujourd'hui, il fait une différence notable. Qu'il s'agisse d'écrire du code, d'améliorer la prise en charge des langues, de créer des blueprints ou même simplement de signaler des bogues. L'élan que nous allons créer en le mettant entre les mains de milliers de personnes va changer la donne - c'est la raison pour laquelle nous avons déclaré que l'ère des assistants vocaux ouverts était arrivée.
Dans les sections de commentaires, nous avons toujours quelques personnes qui disent « mais je n'utilise pas la voix, pourquoi ne pas améliorer (ceci ou cela) ». La bonne nouvelle, c'est que l'amélioration d'Assist et des autres fonctionnalités de Home Assistant se fait déjà en tandem (consultez notre feuille de route pour avoir une vue d'ensemble de nos priorités). En fin de compte, seule une fraction de notre développement est consacrée à la voix, et notre budget correspond à ce que l'équipe voix d'Amazon dépense probablement en soirées pizza 😆. Un excellent effet secondaire est que les problèmes que nous résolvons avec la voix bénéficient à d'autres parties de Home Assistant, par exemple, notre intégration de l'IA a été motivée par la voix.
Nous pensons vraiment que la voix fait partie intégrante d'un écosystème de maison intelligente bien équilibré. Elle est particulièrement importante pour améliorer l'accessibilité du contrôle de la maison à tous les membres du foyer. Il faut qu'il y ait de vraies options dans cet espace, et surtout des options qui vous donnent un contrôle total et un vrai choix en matière de confidentialité.
Pour rappel, en complément de cet article, l'équipe HACF a reçu de la part de Nabu Casa cet équipement, n'hésitez pas à lire notre test :