Je voudrais faire mon propre assistant vocal local

Voici le projet d’assistant vocal HA que j’ai en tête depuis un petit moment, et je cherche à trouver une solution pour avoir mon propre système DIY de reconnaissance vocale associé à Assist.
Voilà l’idée :

Prérequis que j’ai ou vais installer :

  • des haut parleurs dans toutes les pièces chez moi, le tout connecté à HA (pour musique et TTS)
  • des bandes à leds adressables (commandé par ESP32) dans toutes les pièces en éclairage indirect, connecté à HA, pour la lumière dite « de circulation » (on entre dans une pièce, une lumière indirecte s’allume. Plus personne, elle s’éteind. toussa, toussa)

Concept :
Un boitier avec un ESP32 (ou équivalent) avec un micro reconnait un mot clé de commande (Jarvis ou Marvin ou Alexa, whatever), enregistre les quelques secondes de la commande vocale qui suit en wav, transmet au RPI Home Assistant par wifi, transcrit le wav en texte, transmet à Assist qui traite la commande.

Accessoirement (et parce que je suis un nerd en puissance ! - et qu’il faut que ça fasse classe - ou frime selon les goûts)
Lors du wake up, utiliser les bandes leds de la pièce pour faire un truc du genre : LED Strip trail effect - YouTube (ça sert de retour visuel indiquant que la commande est en traitement). Une fois la commande traitée, dire (tts) « OK » ou alors un truc genre « Bien, maître » => pour les psychopathes mégalos.

Contraintes non négociables :

  • fonctionne en local (zero cloud)
  • total DIY (no GAFAM, no techno propriétaire)
  • electro-efficient (conso électrique super mini)
  • encombrement tout réduit
  • boitier esp+micro satellite alimenté par usb facile à installer un peu n’importe où dans n’importe quelle pièce

Et donc, après quelques recherches, j’ai découpé mon système comme suit :

  • un esp32 avec un micro et une extension genre tenserflow pour la reconnaissance du wake-word, puis enregistrement wav
  • une instance Rhasspy qui fait du Speech to Text depuis le wav
  • un transfert du texte généré vers Assist
  • Accessoirement HA doit pouvoir savoir de quelle pièce est émise la commande pour gérer le contexte (il y aurait un boitier satellite par pièce)

Quelqu’un aurait connaissance d’un projet similaire ou de briques (hard ou soft) déjà existantes pour faire avancer mon projet ?
Je suis capable d’adapter du code existant mais pas de me taper le projet en entier, n’ayant pas trop encore de bagage avec les technos ESP ou instance Rhasspy ou faire causer tout le monde ensemble.

Comme toujours, question, remarques ou critiques bienvenues !
Et d’avance, merci.

1 « J'aime »

Projet intéressant qui va dans le sens de HA: https://www.home-assistant.io/blog/2022/12/20/year-of-voice/

Comme assistant, il y a Génie aussi : https://www.home-assistant.io/blog/2021/12/21/stanford-genie/

Alexa de Amazon ? Dans Gafam, il y a Amazon :laughing:

Salut je crois que c’est le but d’anciennement ALMOND qui s’appelle GENIE

regarde dans la boutique des integrations

Salut,

NabuCasa ayant aquis Rhasspy, et ce qui est dit dans les liens partagés par @Giga77 ils va clairement y avoir des choses dans ce sens.

Les briques sont en train de se mettre ne place.
A l’heure actuelle, je ne sais pas si quelqu’un a réussi à tirer quoi que ce soit de Assist en Français. Ceux que j’ai entendu ne sont pas allé loin et mes tests se sont terminés sur des echecs :frowning:

Mais bon Assist c’est tout nouveau, il faudra 2 ou 3 releases supplémentaires pour arriver à quelque chose, et j’ai peur que de se lancer en l’état c’est devoir perdre pas mal de temps pour combler en DIY des trous qui le seront dans une release.

Le problème principale je pense sera le matériel. avoir des micros aussi efficaces qu’une Echo ça va pas être évident. Et c’es là dessus qu’il faudrait se pencher le plus je pense.

1 « J'aime »

Je pensais faire un truc du genre si qqun annonce « ok Google » ou « Alexa », la requête part dans le service concerné.
Et un wake word pour HA qui se limite en local

Perso, j’ai pas Alexa , j’ai juste un Google Mini et un Nest Hub que je n’utilise que pour faire du TTS

J’irai explorer les pistes indiquées ici plus tard; là chuis en weekend :grin: