Spia di Rhasspy – Controllo vocale sicuro in Home Assistant (in spagnolo)

Per tutti quelli di noi che hanno un Home Assistant e sono interessati a poterlo controllare con la voce, dire, un'alternativa ad Alexa o Google Home, Bene, abbiamo Rhasspy. E perché Rhasspy? Perché i nostri microfoni non si connettono a Internet, Nessuno ci ascolterà e sarà totalmente sicuro e personalizzabile, Avviato!

Un'ossessione che ho è quella di vedere ovunque microfoni che controllano le case moderne, Questi domotica o smart. Microfoni che ascoltano nelle nostre case e non sappiamo chi c'è dietro o per quale scopo ci danno un servizio gratuito ;-). A casa una volta ho provato uno di questi microfoni di Google o Amazon e sono rimasto stupito dal numero di connessioni e dal traffico che generano 24 ore su 24, Penso che non sia normale che con questo IoT si debbano condividere dati di qualsiasi tipo con terze parti, se mettiamo la lavatrice accesa, o quanti m2 pulisce l'aspirapolvere, o geolocalizzandoci… Evitiamo di essere il prodotto.

Quindi, dopo molto tempo a cercare e provare alternative, il migliore in assoluto è Rhasspy, È semplice, è molto completo, Possiamo fare un sacco di piccole cose, Inviare condivisioni, Fai domande, Conversazioni… e poi agire e integrarlo con Home Assistant per eseguire automazioni. E ovviamente saremo in grado di parlarlo in spagnolo (Spagnolo) o qualsiasi altra lingua supportata (Inglese, Tedesco, Spagnolo, Francese, Italiano, Tedesco, Russo, Greco, Hindi, Mandarini, Vietnamita, Portoghese, Svedese o catalano, tra gli altri.)

Rhasspy può essere installato, diciamo, in modalità locale, tutto in uno Raspberry, Questo è, che ha il microfono dentro, che è in attesa di una parola chiave per 'svegliarsi', che registra ciò che abbiamo chiesto/ordinato e poi lo gestisce per capire e chiamare la corrispondente automazione Hassio. Ma l'ideale, è che non abbiamo un microfono da solo a casa, se non diversi sparsi per le stanze, quindi Rhasspy può essere installato, diciamo in modalità client con il minimo indispensabile, andare, che è in attesa della parola chiave e registra la nostra domanda/ordine per poi inviarla ad un Rhasspy centrale che sarà lui ad elaborarla e inviarla a Home Assistant. L'idea di questo client/server è quella di avere diversi satelliti con microfoni e un'unica configurazione centrale (e non tutti i Raspberry Pi con una configurazione diversa). E nel mio caso particolare il Rhasspy centrale, essere importanti (Ha la configurazione e fa il calcolo) Esecuzione in una macchina virtuale, in quanto non necessita di microfono… E infine,, nel caso qualcuno fosse interessato, può essere installato direttamente su Home Assistant

Bene, Penso che con questo ci situiamo e prendiamo l'idea, mentre Rhasspy viene eseguito in un contenitore, Quindi ci vorrà 2 minuti per distribuirlo ovunque ne abbiamo bisogno. Ho intenzione di segregare il post in diverse situazioni in modo che ognuno possa scegliere il proprio scenario ideale.

Rhasspy solitario

Questo scenario è quello di avere 1 Raspberry Pi da solo, lascia che sia lei a occuparsi dell'intero processo; ideale forse se abbiamo intenzione di realizzare un robot o simili, che presta attenzione alla parola d'ordine 'Bender’ Per esempio. Avviato, abbiamo bisogno di avere installato Docker, Se non ce l'abbiamo, È:

ricciolo -sSL https://get.docker.com | Zitto

Dobbiamo creare un file di configurazione affinché la scheda audio Raspberry Pi funzioni in Docker, Possiamo chiamarlo '/home/pi/asound.conf.txt’ E ci mettiamo sopra questo contenuto:

Pcm.!default {
        Tipo di scheda Hw 1
}

ctl.!default {
        Tipo di scheda Hw 1
}

E niente, Solleviamo il container con l'immagine Rhasspy, indicando nel profilo la lingua con cui lavoreremo:

sudo docker run -d -p 12101:12101 \
      --riavvio a meno che non sia stato arrestato \
      -v "$HOME/.config/rhasspy/profili:/Profili" \
      -v "/casa/pi/asound.conf.txt:/ecc/asound.conf" \
      --dispositivo /dev/snd:/Sviluppatore/SND \
      synesthesiam/rhasspy-server:ultimissimo \
      --profili utente /profili \
      --profilo en

Una volta avviato il contenitore Rhasspy, Saremo in grado di testare che il contenitore acceda effettivamente al microfono correttamente, che è funzionale e registra. Abbiamo aperto una festa e assaggiato:

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

Saremo in grado di aprire la gestione Rhasspy ora, attraverso un browser web ci colleghiamo a: Protocollo HTTP://DIRECCION_IP_RHASSPYl:12101

Nel menu in alto, saremo in grado di vedere i servizi che funzionano su questo Rhasspy e avendo detto che si tratta di un Rhasspy solitario dovrebbero eseguirli tutti. Nel caso che vedremo più avanti, di un'installazione in rete con più microfoni, I ruoli saranno diversi.

Anche da questa interfaccia iniziale potremo fare dei test di riconoscimento vocale, Vediamo se ci capisce bene…

La prima opzione per la registrazione del suono o la registrazione audio sarà fondamentalmente la scheda audio che utilizzeremo per registrare.

In Wake word selezioneremo l'opzione che ci interessa per il riconoscimento delle parole chiave, o attivazione; Ti consiglio di provarli tutti per vedere quale ti riconosce meglio, o a seconda delle parole chiave che già esistono o che ci piacciono, così come possiamo creare il nostro. Nell'esempio dell'immagine semplice, la parola chiave sarebbe "Alexa".

In Speech to Text indicheremo il modello di riconoscimento, di default Kaldi funziona senza grosse complicazioni.

Riconoscimento delle intenzioni che utilizzeremo per lavorare con il file di dichiarazioni personalizzate che creeremo.

Quindi Text to Speech sarà il punto in cui converti il testo in audio, NanoTTS funziona anche a meraviglia, e in Lingua verificheremo di avere quello che ci interessa.

In Audio Playing indicheremo qual è il nostro dispositivo audio da riprodurre attraverso gli altoparlanti, nel caso in cui tu debba lanciare suoni che ci capisci o meno, così come alcune frasi…

In Gestione dei dialoghi lasceremo Rhasspy.

E infine, in Intent Handling sarà dove saremo in grado di gestire gli output di Rhasspy, in questo caso che si connette a un Home Assistant e gli invia eventi. Quindi avremo automazioni in Home Assistant in ascolto e in attesa che gli eventi si attivino e svolgano il compito che ci interessa.

Rete Rhasspy (cliente)

Quest'altro scenario sarebbe se volessimo avere diversi microfoni sparsi per casa, Non solo uno. L'idea è che in ogni Raspberry Pi con microfono eseguiamo la stessa installazione e una configurazione minima.

Bene, poiché l'installazione sarebbe esattamente la stessa del Lonely Rhasspy; semplicemente che ci vorranno meno servizi raccolti localmente. Dobbiamo indicare che i seguenti servizi vengono eseguiti sul server/centrale Rhasspy:

  • Riconoscimento dell'intento, indicando HTTP remoto e come URL: 'http://DIRECCION_IP_RHASSPY_SERVIDOR:12101/api/testo-a-intento’
  • Sintesi vocale, indicando HTTP remoto e come URL: 'http://192.168.1.216:12101/API/Sintesi vocale’

Rete Rhasspy (server)

In questo caso, Questa macchina non avrebbe bisogno di avere una scheda audio, poiché non registrerà né riprodurrà nulla, Quindi puoi installarlo dove vuoi, un altro Raspberry Pi, o se è possibile in una macchina virtuale, o dove vuoi tu, totale, è un contenitore Docker… L'installazione sarebbe più semplice in quanto:

docker esegui -d -p 12101:12101 \
      --riavvio a meno che non sia stato arrestato \
      -v "$HOME/.config/rhasspy/profili:/Profili" \
      synesthesiam/rhasspy-server:ultimissimo \
      --profili utente /profili \
      --profilo en

E la parte di configurazione del server è l'inverso del client, non avremo la registrazione audio, o Parola d'ordine, né eseguirà la conversione da testo a voce o riproduzione audio.

Frasi

Una volta che il sistema è attivo e funzionante, Parola chiave Riconoscici, Frasi di prova, beh, è ora di alimentare un file di frasi o frasi in Rhasspy (Nel caso di Red, Questo verrebbe fatto solo sul lato server).

Dalla seconda icona possiamo creare i nostri file con le frasi che vogliamo intercettare dopo aver ascoltato la parola chiave. Il blocco tra parentesi sarà l'evento che genererà, e saremo in grado di creare variabili che invieremo all'interno dei dati dell'evento, in quanto può essere un'azione (Attiva o disattiva) e prendilo come stato (Per esempio), e poi il nome dell'oggetto o del luogo e lo prendiamo come 'nome'. Ecco alcuni esempi che capisci meglio, Spiegazione fatale:

Luce di stato]
(Fanaleria | Spegni){stato} Le (Lampada da soggiorno){Nome}
(Fanaleria | Spegni){stato} Le (Luce da cucina){Nome}
...
[RiseLowerBlinds]
(ferito | Su){stato} Le (Tende da soggiorno){Nome}
(ferito | Su){stato} Le (persiana per ufficio){Nome}
...
[TempState]
Qual è la temperatura in (casa){Nome}
qual è la temperatura nel (via){Nome}
qual è la temperatura nel (cucina){Nome}
...
[Domande varie]
C'è (Lettere){Nome} nella cassetta postale vedere se ci sono (Lettere){Nome}
Dov'è (Trattare male){Nome}
...

Crea un token in Home Assistant

Come sono sicuro che l'hai notato, su Rhasspy, per inviare gli output a Home Assistant lo facciamo da Intent Handling, oltre a indicare l'URL di Home Assistant, dobbiamo anche indicare un Access Token. Per generare questo Token, Puoi seguire questi passaggi.

Assistente domestico interno, Dalle opzioni dell'utente con privilegi di amministratore, saremo in grado di creare Token di accesso a lungo termine, Clicca su “Crea token”,

Gli diamo un nome descrittivo in modo che in futuro ricordiamo cosa e perché abbiamo questo,

E copiamo e conserviamo questo Token in un luogo sicuro, che sarà quello che diremo a Rhasspy.

Integrazione di Rhasspy Home Assistant

E niente, se vogliamo che Home Assistant raccolga i messaggi Rhasspy e li elabori, Lo renderemo semplice, attraverso le automazioni.

Creeremo un'automazione dell'ascolto per ogni azione che vogliamo eseguire, l'unica cosa da tenere a mente è che il trigger di automazione sarà un 'Evento', e in "Tipo di evento"’ raccoglieremo l'Evento che si è generato grazie al file della frase (con il prefisso rhasspy_ ). E come dati degli eventi filtriamo ciò che ascoltiamo in particolare. Quindi, se vogliamo che il riscaldamento si accenda, Mi aspetto che l'evento con gli attributi corrispondenti a 'Riscaldamento’ e come azione si "accende", e poi le azioni da gustare, ognuno di voi ha un sacco di immaginazione e cose con cui si può armeggiare con Rhasspy.

Totale, Che post lungo, ma spero che molti di voi possano guidarvi ogni volta che vorrete per parlare con la casa e per assicurarla. Microfoni o niente si connette a Internet, che nessuno ci spia gratis… E possiamo personalizzare la parola d'ordine in qualcosa di più vicino, e soprattutto che ha tante possibilità quante sono le nostre idee.

Mando un abbraccio a tutti voi, Sii felice, Grazie a tutti voi che spostate questo tipo di contenuti sui social network.

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!