Home Assistant Voice

Nabu Casa vient d'annoncer un nouvel appareil, le Home Assistant Voice. Nous avons eu l'opportunité de tester en avant-première cet appareil. Voici notre retour et un guide pour l'installer.
Home Assistant Voice

Sommaire

Nabu Casa sort ce mois un nouvel appareil : le Home Assistant Voice Preview Edition. Il s'agit d'un assistant vocal spécialement développé pour parfaitement s'intégrer dans l'écosystème Assist de Home Assistant. Il permet de piloter Home Assistant à la voix.

2024 aura été résolument l'année de la voie pour Home Assistant et Nabu Casa. L'ambition est de créer un système de reconnaissance vocal open source alternatif aux enceintes connectées proposées par les GAFAM, et pouvant fonctionner en local. Cet appareil est donc LE chainon manquant permettant de faire le lien physique avec la technologie logicielle de Home Assistant.

Nabu Casa a fourni à HACF une version en avant-première, et nous sommes heureux de vous présenter cet appareil, comment l'installer et les résultats de nos tests.

Assist ainsi que la synthèse et la reconnaissance vocale dans Home Assistant sont des pré-requis à l'utilisation d'un assistant vocal. Nous en profiterons pour vous expliquer brièvement comment les configurer pour tirer pleinement bénéfice du Home Assistant Voice.

Présentation de l'assistant vocal

Le Home Assistant Voice est un petit boitier avec un design très sympathique. Sa petite taille (84x84x21 mm) permettra de le mettre facilement dans chaque pièce. Il est juste dommage qu'il n'y ait pas un petit logo Home Assistant, voir un petit bandeau bleu rappelant les couleurs de Nabu Casa.

Son poids de 96g (très léger) surprend, surtout si on compare à des enceintes connectées (Alexa, etc). Certes, il ferait plus qualitatif s'il était un peu plus lourd, mais il embarque un haut-parleur assez basique mais efficace. Ce n'est pas une "enceinte connectée" à proprement parlé mais un assistant vocal.

Le bouton central est intuitif (déclenchement, écoute et arrêt). La LED qui tourne est très réussie. J’adore !!

Le home Assistant Voice est doté d'un ESP32-S3 avec 16MB de flash et 8 MB PSRAM.

Le traitement audio est confié à un processeur XMOS XU316 : il assure en particulier le traitement des sons captés par les micros, la suppression des bruits parasites et le découplage avec les sons produits par le haut-parleur.

Il est compatible wifi 2.4 Ghz et Bluetooth 5.0 Low Energy.

Le bouton central (1) permet la réinitialisation, l'arrêt et le lancement de la conversation sans "wake word".

La molette rotative (2) permet de modifier le volume ou la couleur de la LED.

Un interrupteur (3) permet de mettre l'assistant en mode muet (mute).

Au niveau connectique, on a le minimum nécessaire : un port USB-C pour les données et l'alimentation (5) et un mini-jack de 5 mn (6) pour le haut-parleur externe.

L'appareil dispose de 2 microphones (8).

Prérequis logiciels

Avant de pouvoir utiliser HA Voice, vous devrez ajouter à votre assistant un système de reconnaissance vocale (STT ou "Speech to Text") et configurer un système de synthèse vocal (TTS ou "Text to Speech").

Si vous avez souscrit un abonnement Nabu Casa Cloud, vous bénéficiez des services de reconnaissance et synthèse vocale cloud de la société. Vous n'avez pas à installer un système local si l’usage du cloud vous convient.

Dans le cas contraire, alors il faut installer votre propre système de reconnaissance (STT). Les plus populaires sont Whisper et Vosk.

Enfin il vous faudra installer un système de synthèse vocale (TTS). Le plus courant est Piper.

Et pour finir, vous devrez exposer des entités dans Assist, pour pouvoir les contrôler à la voix.

Nous présentons brièvement ci-après ces différentes installations pré-requises.

Utiliser le cloud Nabu Casa

La souscription Nabu Casa est le moyen le plus simple pour mettre en place un système d'assistance vocale.

Si vous avez une souscription Nabu Casa, rendez-vous dans Paramètres - Home Assistant Cloud.
Dans la section Synthèse vocale, vous pouvez sélectionner la langue et la voix par défaut. Et c'est tout, vous avez maintenant un assistant "Nabu Casa Cloud" à disposition…

Configurer un STT : Whisper

Si vous n'avez pas de souscription Nabu Casa, il vous faut installer un système alternatif en local.

Whisper est un système de reconnaissance local très performant, mais il est conseillé de l'installer sur une machine assez puissante comme un mini-pc.

Avant d'installer le Home Assistant Voice, vous allez devoir installer les modules complémentaires Whisper :

Configurer un STT : Vosk

Vosk est un choix de STT local alternatif à Whisper. Pour un Raspberry Pi (moins puissant qu'un mini PC), Vosk est une solution de choix, car il est plus rapide.

Il faudra ajouter le dépôt :

https://github.com/rhasspy/hassio-addons

Configurer un TTS : Piper

Et pour finir, voici comment installer Piper, un système de synthèse vocale local :

Exposer vos entités dans Assist

Pour être pilotées par la voix, vos entités doivent être "exposées". Pour cela, rendez-vous dans paramètres / Assistant vocaux puis cliquer en bas à gauche de la section Assist pour en retrouver la liste (voir ci-dessous).

Vous pouvez donner un alias pour votre entité (ou appareil), pour faciliter son appel. Vous choisissez l'entité et choisissez un alias. Cliquer sur ajouter un alias et donnez-lui un nom. De même que pour exposer ou non l'entité dans assist, cocher/décocher la case exposer.

Sinon, sur n'importe quelle entité, vous pouvez le faire, exposer l'entité pour Assist ou mettre un alias. Vous devez choisir une entité, cliquer dessus et cliquer sur la roue crantée. Vous avez accès à l'option assistants vocaux.

Puis cliquer dessus, pour accéder aux paramètres.

Créer un assistant vocal pour Assist

Vous devez maintenant configurer un assistant vocal. Aller dans paramètres / assistants vocaux :

  • Si vous avez la souscription Nabu Casa, vous aurez un assistant déjà configuré. Passez à la suite.
  • Si vous n'avez pas la souscription Nabu Casa ou voulez configurer un assistant local, cliquez ajouter un assistant.

Donnez-lui un nom.

Choisissez la reconnaissance vocale, entre Whisper, Vosk ou autre.

Choisissez la synthèse vocale, entre Piper, Home Assistant cloud ou autre.

Et pour finir, choisir le mot d'activation, entre opewakeworld, porcupine, snowboy ou autre. Puis le mot de déclenchement.

Sauvegarder en cliquant sur créer.

Choisir son assistant préféré

Si vous avez plusieurs assistants configurés, vous devez choisir celui qui sera utilisé.

Installation du HA Voice

Voilà, vous avez un assistant vocal configuré, et vous allez ENFIN pouvoir jouer avec votre Home Assistant Voice.

Vous pouvez faire l'installation d'un PC, si votre Home Assistant dispose du Bluetooth. Sinon via un mobile, avec l'application "Home Assistant Companion".

Brancher le Home Assistant Voice, avec un câble USB-C sur le secteur : votre Home Assistant va le détecter automatiquement.

Faite ajouter et il vous sera demandé de rentrer le SSID et mot de pass Wifi de votre box internet.

Après les avoir renseignés, le HA Voice se connectera à votre réseau Wifi.

Ensuite vient la configuration du HA Voice.

Vous pouvez choisir le "wake word", parmi les trois fournis, en cliquant sur change wake word :

Faite skip, pour passer à l'étape suivante. Choisissez la pièce dans laquelle se trouvera votre Home Assistant Voice, puis next.

Il va falloir configurer Assist pour le Home Assistant Voice.

Dans la case Assistant, faite edit :

Dans la partie Reconnaissance vocale, choisir Whisper, Vosk ou la synthèse par défaut suivant votre besoin.
Puis configurer la langue à utiliser. Dans la partie Synthèse vocale, choisir par exemple Piper. Puis configurez la langue à utiliser et la voix qui vous convient le mieux.
Vous pouvez tester les voix, en cliquant sur essayer la voix.

Pour enregistrer, faite mettre à jour, puis Done pour finaliser la configuration du Home Assistant Voice.

Après la configuration finie du Home Assistant Voice, Home Assistant va vous proposer l'installation de l'intégration ESPHome, pour utiliser le Home assistant Voice.

Faite ajouter et c'est fini, le Home assistant Voice est prêt à être utilisé.

Il faudra cocher l'option Autorisez l'appareil à effectuer des actions Home Assistant et valider, en cliquant sur configurer :

⚠️
Si vous avez installé le module complémentaire ESPHome, vous aurez le Home Assistant Voice qui va être détecté et une proposition d'adoption sera affiché. Vous devez l'ignorer. Si vous adoptez l'appareil sur le module complémentaire ESPHome, il vous faudra le re-flasher. Ça peut être utile, si vous voulez modifier le firmware.

Test du HA Voice

Voilà, il ne reste plus qu'à tester. Dans un premier temps, demandez lui juste l'heure "Oky Nabu, quelle heure est-il ?" (prononcer "nabou", à moins d'utiliser un autre wake word).

Ensuite, vous pouvez essayer de piloter des appareils liés à des entités exposées.

Vous pouvez aussi cliquer sur le bouton central pour ne pas avoir à prononcer le mot de réveil.

L'assistant vocal marche plutôt bien. Le déclenchement à la voix avec la phrase "OKEY NABU" est rapide, même de loin. Le processeur XMOS XU316 fait bien son travail.

Le son est tout à fait correct, mais attention, ce n'est pas une enceinte connectée.

Le traitement des phrases est plutôt rapide, et la reconnaissance des commandes est plutôt bonne.

⚠️
Bien entendu, le traitement des ordres dépendra de sa configuration "Assist" qui devra être parfaite. Sans travailler sa configuration, nous pourrions par exemple avoir des confusions entre des pièces ou des appareils. Mais attention cela n'est pas lié à Home Assistant Voice.

Utilisation du HA Voice

Rendez-vous sur paramètres / appareils et services / ESPHome , retrouvez votre Home Assistant Voice et cliquez dessus. Vous devriez retrouver les entités suivantes :

Nous allons voir comment configurer votre appareil, via Home Assistant ou via l'appareil directement quand c'est possible.

Activer/désactiver la led et changer la couleur

Activer l'interrupteur sur l'entité LED Ring. Laisser appuyer sur le bouton central et tourner la molette pour changer la couleur.

Couper le micro

Soit sur Home Assistant avec l'entité mute ou sur le côté de l'appareil, il y a un bouton pour couper le micro.

Activer/désactiver le Wake sound

S'il est activé, ça émet un son après avoir dit "OK Nabu".

Régler le volume

Tourner la molette à gauche pour diminuer ou à droite pour augmenter le volume.

Stopper un minuteur

Quand vous avez activé un minuteur et qu'il est fini, il y aura une sonnerie. Pour arrêter la sonnerie, vous pouvez cliquer sur le bouton central ou dire "stop".

Activer Assit sans utiliser le wake word

Il vous suffit de cliquer sur le bouton central, pour activer Assit sans utiliser le wake word "OK Nabu".

Action sur le bouton central

Le bouton central peut être utilisé comme action, pour activer une automatisation. Vous disposez de ces actions :

  • Double press
  • Triple press
  • Long press
⚠️
Le Simple press est déjà utilisé pour le Home Assistant Voice. Il permet d'activer Assist sans utiliser le wake word "OK Nabu".

exemple d'automatisation :

alias: bouton voice
description: ""
triggers:
  - trigger: state
    entity_id:
      - event.home_assistant_voice_0902e4_button_press
    attribute: event_type
    to: double_press
conditions: []
actions:
  - action: light.toggle
    metadata: {}
    data: {}
    target:
      entity_id: light.0x00158d0002e75493
mode: single

Changer le wake word ou l'assistant

Dans l'intégration ESPhome, choisissez le Home Assistant Voice, et cliquer sur set up voice assistant.

Réinitialisation de l'appareil

La réinitialisation d'un appareil supprime les identifiants Wi-Fi et les paramètres d'éclairage de Home Assistant Voice. L'appareil ne stocke aucune autre donnée utilisateur. Après une réinitialisation, l'appareil est prêt pour un nouveau processus d'intégration. Cela peut être nécessaire, par exemple, lorsque vous souhaitez donner l'appareil à quelqu'un d'autre ou si vous souhaitez l'utiliser dans un nouvel environnement avec des identifiants Wi-Fi différents.

Comparatif avec la concurrence

Il s'agit principalement des enceintes Amazon et Google, mais aussi des petits appareils chinois : les Atom Echo et S3 Box,

Enceintes connectées Amazon ou Google

Bien entendu, les résultats dépendront aussi des moteurs de reconnaissance et synthèse vocales utilisées. Les tests ont été faits avec Nabu Casa Cloud.

Bien sûr, le son des enceintes connectées sera bien meilleur de très loin. Mais notre HA Voice ne s'en sort pas si mal, et le son est plutôt clair et fort (on ne parle pas là de musique). Pour avoir un son équivalent aux enceintes, il suffira de brancher une enceinte type Bose.

La reconnaissance du wake word est excellente, même de loin, et notre HA Voice ne s'en tire pas mal.
La synthèse vocale est elle très bonne.

On restera légèrement inférieur au niveau compréhension, et il y a un temps de réponse supérieur, mais ce n'est pas si mal et totalement acceptable.

En conclusion, la HA voice sera bien entendu moins performant que les enceintes connectées, mais s'en sort honorablement. C'est le prix à payer pour une excellente intégration à Home Assistant, et ne plus envoyer ses données à Google ou Amazon. On ne paye pas que le matériel avec les GAFAM, car on offre aussi nos données.

Atom Echo

L'Atom Echo est un ESP32-PICO tout petit avec 4MB de flash, qui dispose d'un micro, haut-parleur, led et un bouton. On peut l'acheter pour une somme aux alentours de 15-20€.

Vous disposez de plusieurs options de réglage, comme activer ou non le wake word. Si elle est désactivée, vous pouvez utiliser le bouton de l'appareil pour activer Assist. Vous avez le choix d'utiliser la led ou non, qui permet de voir le déroulement de Assist (activé / attente d'une question / traitement de la question / réponse).

Passons au test maintenant. Ils ont été faits avec Vosk.

Le son de l'Atom Echo est faible, juste suffisant pour entendre la réponse à côté de l'appareil. Très peu audible, si vous êtes à plusieurs mètres de l'appareil.

Le Home Assistant Voice a un bien meilleur son et à plusieurs mètres.

Le micro ne fonctionne pas trop mal à côté ou quelques mètres, comparé au Home assistant Voice qui est bien meilleur, car il dispose de deux micros et peut fonctionner à une distance plus éloignée.

Et puis le HA Voice a un design bien plus sympathique, et l'anneau LED rappelle ceux des enceintes connectées.

L'Atom Echo sera donc moins puissant que le Home Assistant Voice. Seul le prix pourrait le faire préférer, que ce soit pour des tests, ou pour par exemple le mettre sur un bureau et utiliser Assist facilement.

S3 Box

Il s'agit une petite enceinte plutôt sympathique car elle dispose d'un écran (mais pas d'anneau LED).

Les essais ont cette fois été faits avec Whisper.

Et bien, on peut dire que question son, c'est assez équivalent : le son est légèrement meilleur avec notre HA Voice.

La différence est bien plus grande pour la reconnaissance par contre, et c'est probablement la ou le HA Voice se démarque. Certes, la S3 box a comme le HA Voice 2 micros, mais le HA Voice intègre un processeur XMOS XU316 la ou le traitement audio du S3 Box est confié au ESP32-S3.

L'avantage se porte très largement sur le HA Voice pour son intégration parfaite à Home Assistant.

Après, à prix presque équivalent, le choix peut se faire sur le design des 2 appareils. Certains pourront être séduits par le petit écran du S3 Box, d'autres par le petit boitier discret et l'anneau lumineux du HA Voice. Mais c'est surtout la capacité de reconnaissance vocale de l'appareil qui devrait guider le choix.

💡
Le HA Voice a une interface Groove I2C : il serait possible sur le papier de lui ajouter un écran supplémentaire. Les utilisateurs ne manqueront probablement pas de publier des évolutions utilisant le port Groove si cela s'avère possible.

Conclusion

Le Home Assistant Voice est plutôt réussi. Il fonctionne bien à plusieurs mètres de l'appareil et est très réactif. Il a certes encore quelques défauts, mais Nabu Casa améliore sans cesse les couches logicielles.

L'intégration à différents LLMs (cloud type ChatGPT... ou locaux sur un PC assez puissant) peut être un grand plus pour mettre en place d'un système conversationnel et bénéficier de l'IA générative.

Le Haut parleur a un bon volume, on entend bien ce qu'il nous dit. Ce n'est certes pas au niveau d'enceintes connecté type Google Nest Mini ou Alexa, mais il fait bien le boulot. Si vous voulez, vous avez toujours la possibilité de le brancher sur des enceintes avec la prise jack, pour un super son (utile pour le media_player).

L'appareil ne pourra pas rivaliser avec les solutions de Google ou Amazon, qui ont investi des milliards pour occuper le marché. Il sera aussi plus cher qu'une enceinte connectée en promotion, et vendue à perte par Amazon ou Google.

En choisissant un Home Assistant Voice, vous faites surtout le choix de supporter une solution Open Source, supportée par une communauté, et potentiellement hors du cloud suivant votre configuration.
Le choix de cette enceinte est donc aussi un choix de conviction.

Si vous voulez vous affranchir des solutions des GAFAM, nous recommandons donc cet appareil qui fera un beau cadeau sous le sapin à Noël.

Il est disponible chez l'excellent site de eCommerce Domadoo.

NABU CASA - Assistant vocal local Home Assistant Voice Preview Edition
Home Assistant Voice, l’assistant vocal Open Source axé sur la protection de la vie privée et conçu pour fonctionner avec Home Assistant.

Enfin, retrouvez ici la documentation officielle.

Nabu Casa a également publié sur son blog deux articles très intéressants. Retrouvez en les traductions sur notre portail :

L’ère des assistants vocaux ouverts est arrivée
Nabu Casa vient de lancer un assistant vocal. Cet article est la traduction du billet de blog annoncant ce nouveau produit.
Voice Chapitre 8 - L’assistance à domicile aujourd’hui
Nabu Casa vient de lancer un assistant vocal. Cet article est la traduction du billet de blog décrivant le travail réalisé par Nabu Casa.

Bonne lecture