Rhasspy – Commande vocale sécurisée dans Home Assistant (en espagnol)

Pour tous ceux d’entre nous qui ont un assistant à domicile et qui souhaitent pouvoir le contrôler par la voix, dire, une alternative à Alexa ou Google Home, Eh bien, nous avons Rhasspy. Et pourquoi Rhasspy? Pourquoi nos microphones ne se connectent pas à Internet, Personne ne nous écoutera et ce sera totalement sécurisé et personnalisable, Commencé!

Une de mes obsessions est de voir partout des microphones qui contrôlent les maisons modernes, Ces appareils domotiques ou intelligents. Des micros qui écoutent dans nos maisons et nous ne savons pas qui est derrière ni dans quel but, ils nous offrent un service gratuit ;-). À la maison, j’ai essayé une fois l’un de ces microphones de Google ou d’Amazon et j’ai été étonné par le nombre de connexions et le trafic qu’ils génèrent 24 heures sur 24, Je pense qu’il n’est pas normal qu’avec cet IoT, nous devions partager des données de toute nature avec des tiers, si nous mettons la machine à laver en marche, ou combien de m2 l’aspirateur nettoie, ou nous géolocaliser… Évitons d’être le produit.

Donc, après une longue période de recherche et d’essai d’alternatives, le meilleur est de loin Rhasspy, C’est simple, Il est très complet, Nous pouvons faire beaucoup de petites choses, Envoyer des partages, Posez des questions, Conversations… puis agir et l’intégrer à Home Assistant pour exécuter des automatisations. Et bien sûr, nous pourrons le parler en espagnol (Espagnol) ou toute autre langue prise en charge (Anglais, Allemand, Espagnol, Français, Italien, Allemand, Russe, Grec, Hindi, Mandarin, Vietnamien, Portugais, Suédois ou catalan entre autres.)

Rhasspy peut être installé en mode local, tout en un Framboise, C’est, qui contient le microphone, c’est-à-dire attendre qu’un mot-clé se « réveille », qui enregistre ce que nous avons demandé/commandé et le gère ensuite pour comprendre et appeler l’automatisation Hassio correspondante. Mais l’idéal, c’est que nous n’avons pas de micro seul à la maison, si ce n’est plusieurs éparpillés dans les pièces, donc Rhasspy peut être installé disons en mode client avec le strict minimum, aller, qui attend le mot-clé et enregistre notre question/commande, puis l’envoie à un Rhasspy central qui sera celui qui la traitera et l’enverra à Home Assistant. L’idée de ce client/serveur est d’avoir plusieurs satellites avec des microphones et une seule configuration centrale (et pas tous les Raspberry Pi avec une configuration différente). Et dans mon cas particulier, le Rhasspy central, Être important (Il a la configuration et fait le calcul) Exécuter dans une machine virtuelle, car il ne nécessite pas de microphone… Et enfin,, au cas où quelqu’un serait intéressé, peut être installé directement sur Home Assistant

Puits, Je pense qu’avec cela, nous nous situons et prenons l’idée, comme Rhasspy fonctionne dans un conteneur, Il nous faudra donc 2 quelques minutes pour le déployer là où nous en avons besoin. Je vais séparer le post en différentes situations afin que chacun puisse choisir son scénario idéal.

Rhasspy solitaire

Ce cas de figure est celui d’avoir 1 Raspberry Pi seul, Laissez-la s’occuper de l’ensemble du processus; Idéal peut-être si nous allons fabriquer un robot ou similaire, qui tient compte du mot déclencheur « Bender’ Par exemple. Commencé, nous devons avoir installé Docker, Si nous ne l’avons pas, Est:

curl -sSL https://get.docker.com | Sh

Nous devons créer un fichier de configuration pour que la carte son Raspberry Pi fonctionne dans Docker, Nous pouvons l’appeler '/home/pi/asound.conf.txt’ Et nous y mettons ce contenu:

Pcm.!faire défaut {
        Type de carte HW 1
}

CTL.!faire défaut {
        Type de carte HW 1
}

Et rien, Nous soulevons le conteneur avec l’image de Rhasspy, en indiquant dans le profil la langue avec laquelle nous travaillerons:

sudo docker run -d -p 12101:12101 \
      --redémarrer à moins qu’il ne soit arrêté \
      -v "$ACCUEIL/.config/rhasspy/profiles:/Profils" \
      -v "/Accueil/PI/asound.conf.txt:/etc/asound.conf" \
      --Appareil /dev/snd:/Dev/SND \
      synesthesiam/rhasspy-server:dernier \
      --profils-utilisateur /profils \
      --Profil EN

Une fois le conteneur Rhasspy démarré, Nous pourrons tester que le conteneur accède correctement au microphone, c’est-à-dire fonctionnel et enregistre. Nous avons ouvert une fête et dégusté:

Sudo Docker exec -it ID_CONTENEDOR_RHASSPY bash arecord -r 16000 -c 1 -f S16_LE test.wav

Nous allons pouvoir ouvrir la gestion de Rhasspy maintenant, via un navigateur Web auquel nous nous connectons: HTTP://DIRECCION_IP_RHASSPYl:12101

Dans le menu du haut, nous pourrons voir les services qui fonctionnent sur ce Rhasspy et ayant dit qu’il s’agit d’un Rhasspy solitaire, ils devraient tous les exécuter. Dans le cas que nous verrons plus loin, d’une installation en réseau avec plusieurs microphones, Les rôles seront différents.

De plus, à partir de cette interface initiale, nous pourrons faire des tests de reconnaissance vocale, Voyons s’il nous comprend bien…

La première option pour l’enregistrement sonore ou l’enregistrement audio sera essentiellement la carte son que nous utiliserons pour enregistrer.

Dans Wake word, nous sélectionnerons l’option qui nous intéresse pour la reconnaissance des mots-clés, ou l’activation; Je vous recommande de tous les essayer pour voir lequel vous reconnaît le mieux, ou en fonction des mots-clés qui existent déjà ou que nous aimons, ainsi que nous pouvons créer les nôtres. Dans l’exemple de l’image simple, le mot-clé serait 'Alexa'.

Dans la reconnaissance vocale, nous indiquerons le modèle de reconnaissance, par défaut Kaldi fonctionne sans complications majeures.

Reconnaissance d’intention que nous utiliserons pour travailler avec le fichier d’instructions personnalisées que nous allons ensuite créer.

Ensuite, la synthèse vocale sera l’endroit où vous convertirez le texte en audio, NanoTTS fonctionne également comme un charme, et dans Langue, nous vérifierons que nous avons celui qui nous intéresse.

Dans la lecture audio, nous indiquerons quel est notre périphérique sonore à jouer via les haut-parleurs, au cas où vous devriez lancer des sons que vous nous comprenez ou non, ainsi que quelques phrases…

Dans Dialogue Management, nous quitterons Rhasspy.

Et enfin, dans la gestion des intentions, c’est là que nous pourrons gérer les sorties de Rhasspy, dans ce cas, il se connecte à un Home Assistant et lui envoie des événements. Ensuite, nous aurons des automatisations dans Home Assistant qui écoutent et attendent que les événements s’activent et effectuent la tâche qui nous intéresse.

Réseau Rhasspy (client)

Cet autre scénario serait si nous voulons avoir plusieurs microphones répartis dans la maison, Pas seulement un. L’idée est que dans chaque Raspberry Pi avec un microphone, nous effectuons la même installation et une configuration minimale.

Puits, car l’installation serait exactement la même que celle du Lonely Rhasspy; simplement qu’il faudra moins de services collectés localement. Il faut indiquer que les services suivants fonctionnent sur le serveur/central Rhasspy:

  • Reconnaissance de l’intention, en indiquant le HTTP distant et en tant qu’URL: 'http://DIRECCION_IP_RHASSPY_SERVIDOR:12101/API/Texte-à-intention’
  • Synthèse vocale, en indiquant le HTTP distant et en tant qu’URL: 'http://192.168.1.216:12101/API/synthèse vocale’

Réseau Rhasspy (serveur)

Dans ce cas, Cette machine n’aurait pas besoin d’avoir une carte son, puisqu’il n’enregistrera ni ne jouera quoi que ce soit, Vous pouvez donc l’installer où vous le souhaitez, un autre Raspberry Pi, ou si vous le pouvez dans une machine virtuelle, ou où vous voulez, total, est un conteneur Docker… L’installation serait plus simple car:

docker run -d -p 12101:12101 \
      --redémarrer à moins qu’il ne soit arrêté \
      -v "$ACCUEIL/.config/rhasspy/profiles:/Profils" \
      synesthesiam/rhasspy-server:dernier \
      --profils-utilisateur /profils \
      --Profil EN

Et la partie configuration du serveur est l’inverse du client, nous n’aurons pas d’enregistrement audio, ou Wake Word, il n’effectuera pas non plus la conversion de la synthèse vocale ou de la lecture audio.

Phrases

Une fois que le système sera opérationnel, Identifiez-nous Mot-clé, Test Phrases, eh bien, il est temps de nourrir un fichier de phrases ou d’expressions dans Rhasspy (Dans le cas de Red, Cela ne se ferait que du côté du serveur).

À partir de la deuxième icône, nous pouvons créer nos fichiers avec les phrases que nous voulons qu’il intercepte après avoir écouté le mot-clé. Le bloc entre crochets sera l’événement qui générera, et nous pourrons créer des variables que nous enverrons dans les données de l’événement, car il peut s’agir d’une action (Activer ou désactiver) et le prendre en tant qu’état (Par exemple), puis le nom de l’objet ou du lieu et nous le choisissons comme 'nom'. Voici quelques exemples que vous comprenez mieux, Explication fatale:

StateLight]
(Lumières | Arrêter){état} le (Lampe de salon){Nom}
(Lumières | Arrêter){état} le (Lumière de cuisine){Nom}
...
[RiseLowerBlinds]
(victime | En haut){état} le (Stores de salon){Nom}
(victime | En haut){état} le (volet de bureau){Nom}
...
[TempState]
quelle est la température en (maison){Nom}
quelle est la température dans le (rue){Nom}
quelle est la température dans le (cuisine){Nom}
...
[Questions diverses]
Il y a (Lettres){Nom} dans la boîte aux lettres, voyez s’il y a (Lettres){Nom}
Il est où (Hector){Nom}
...

Créer un jeton dans Home Assistant

Comme je suis sûr que vous l’avez remarqué, sur Rhasspy, pour envoyer les sorties à Home Assistant, nous le faisons à partir de la gestion des intentions, à part l’indication de l’URL de Home Assistant, il faut également indiquer un jeton d’accès. Pour générer ce jeton, Vous pouvez suivre ces étapes.

Assistant à l’intérieur de la maison, À partir des options d’utilisateur avec privilèges d’administrateur, nous serons en mesure de créer des jetons d’accès à long terme, Cliquez sur “Créer un jeton”,

Nous lui donnons un nom descriptif afin qu’à l’avenir nous nous souvenions de quoi et pourquoi nous avons cela,

Et nous copions et stockons ce Token dans un endroit sûr, qui sera celui que nous raconterons à Rhasspy.

Intégration de l’assistant à domicile Rhasspy

Et rien, si nous voulons que Home Assistant récupère les messages de Rhasspy et les traite, Nous allons vous simplifier la tâche, grâce aux automatisations.

Nous allons créer une automatisation d’écoute pour chaque action que nous voulons effectuer, la seule chose à garder à l’esprit est que le déclencheur d’automatisation sera un 'Event', et sous « Type d’événement »’ nous collecterons l’événement généré grâce au fichier de phrase (avec le préfixe rhasspy_ ). Et en tant que données d’événements, nous filtrons ce que nous écoutons en particulier. Donc, si nous voulons que le chauffage s’allume, Je m’attends à cet événement avec les attributs correspondant à 'Chauffage’ et en tant qu’action, il « s’allume », et ensuite les gestes à déguster, vous avez chacun beaucoup d’imagination et des choses que vous pouvez bricoler avec Rhasspy.

Total, Quel long post, mais j’espère que beaucoup d’entre vous pourront vous guider quand vous le souhaitez pour parler à la maison et afin de la sécuriser. Microphones ou rien ne se connecte à Internet, que personne ne nous espionne gratuitement… Et nous pouvons personnaliser le mot d’activation pour quelque chose de plus proche, et surtout qu’il a autant de possibilités que nous avons d’idées.

Je vous embrasse tous, Sois heureux, Merci à tous ceux qui déplacent ce type de contenu sur les réseaux sociaux.

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!