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.