Home Assistant entend bien offrir une alternative open-source crédible aux géants de la domotique, que sont HomeKit d’Apple, Alexa d’Amazon ou encore Home de Google. Pour y parvenir, ses concepteurs se sont lancés dans un énorme chantier en 2023 : créer un assistant vocal lui aussi open-source, à la hauteur de ses concurrents propriétaires pour gérer la domotique. Ils annoncent sur le blog officiel une étape décisive avec l’ajout de la commande vocale chargée de réveiller l’assistant vocal. Avec l’ajout de cette brique, on peut de fait créer un appareil capable d’exécuter des demandes entièrement vocales, comme le montre cette démonstration.
Créer un assistant vocal n’est pas simple, car il faut mettre en place de nombreux éléments en même temps. Il faut un microphone capable d’enregistrer votre voix, il faut du logiciel pour transcrire votre demande vocale et d’autre logiciel pour la transmettre à Home Assistant pour l’exécuter. C’est encore plus complexe quand on choisit une approche open-source et surtout entièrement locale : il n’est pas question ici de reposer sur un serveur distant, tout doit être fait sur le réseau local de l’utilisateur.
La commande vocale chargée de réveiller l’assistant, comme « Dis Siri » ou « OK Google », est sans doute la partie la plus complexe de l’équation. Si on veut que cela fonctionne correctement, il faut qu’un microphone enregistre en permanence le son ambiant, analyse tout ce qu’il capte à la recherche de quelques mots prédéfinis et les identifie rapidement, en faisant le moins d’erreurs possible au passage. Qu’il se déclenche trop facilement ou au contraire s’il est difficile à déclencher, on obtient un assistant vocal inutile dans les deux cas. S’il a besoin de plusieurs secondes pour reconnaître le déclencheur, on aura plus vite fait de sortir son smartphone pour réaliser l’opération voulue.
Par défaut, openWakeWord est utilisé, un projet basé sur un modèle open-source de Google et optimisé pour la performance, ce qui permet de l’utiliser sur du matériel léger. Il ne comprend que l’anglais pour le moment, mais Home Assistant peut utiliser d’autres moteurs à la place, tant qu’ils respectent le protocole wyoming. Un bon candidat est porcupine1, qui présente l’avantage de fonctionner en anglais, mais aussi en français, espagnol et allemand.
Sur le plan matériel, les options sont également nombreuses. Si vous avez installé Home Assistant sur un Raspberry Pi et qu’il est présent dans la pièce où vous voulez utiliser les commandes vocales, alors vous pouvez brancher un microphone USB dessus et l’utiliser comme assistant vocal. À défaut, un vieux Raspberry Pi ou un EPS32 — un petit micro-ordinateur que l’on trouve aisément à moins de 10 € — peuvent faire l’affaire, mais il faudra encore bricoler un peu, tant côté matériel que logiciel.
On est encore loin d’une solution grand public comme celles qu’Apple, Google et Amazon proposent, mais c’est une étape de plus vers un assistant vocal qui pourrait être vendu directement par Home Assistant. Les besoins matériels sont aujourd’hui largement couverts par des produits pas très coûteux, le plus gros du travail se fera du côté du logiciel. Cela tombe bien, les développeurs promettent qu’ils auront bientôt davantage à annoncer, maintenant que les bases sont toutes là.