
Negli ultimi anni gli assistenti vocali sono diventati il punto di riferimento per il controllo domotico e per l’interazione con i dispositivi smart. Tuttavia la maggior parte delle soluzioni più diffuse (Google Assistant, Amazon Alexa, Apple Siri) dipendono da servizi cloud, con conseguenze sulla privacy e sulla disponibilità della rete. Rhasspy è un’alternativa open‑source, completamente offline, che permette di gestire i comandi vocali in più di 30 lingue, tra cui l’italiano. In questa guida approfondiremo come collegare Rhasspy a Google Assistant per sfruttare le capacità di quest’ultimo (ad esempio la ricerca di informazioni su internet) mantenendo il nucleo di riconoscimento locale.
Il documento è strutturato in modo da fornire un percorso passo‑passo, dalla preparazione dell’hardware alla configurazione avanzata, con esempi concreti, tabelle comparative e box riassuntivi utili sia per gli appassionati di home automation sia per i professionisti che devono implementare una soluzione vocale in ambienti aziendali.
Rhasspy è costituito da una serie di micro‑servizi che comunicano tramite il protocollo Hermes (originariamente sviluppato da Snips). Ogni modulo svolge una funzione specifica:
Grazie a questa separazione è possibile sostituire ogni componente con l’alternativa più adatta al proprio hardware (ad esempio DeepSpeech per lo STT o PicoTTS per la sintesi).
Componenti | Modello consigliato | Motivazione |
|---|---|---|
Computer di base | Raspberry Pi 4 (4 GB) o PC x86‑64 | Potenza sufficiente per STT e TTS in tempo reale. |
Microfono | ReSpeaker 4‑Mic Array o ReSpeaker 2‑Mics pHAT | Array a più microfoni per ridurre il rumore ambientale. |
Altoparlante | Altoparlante USB o HDMI con supporto audio | Uscita chiara per le risposte vocali. |
Alimentazione | Alimentatore 5 V 3 A (Raspberry Pi) o PSU PC | Garantisce stabilità anche sotto carico. |
Esistono tre metodi principali per installare Rhasspy:
Di seguito la procedura più semplice con Docker:
sudo apt update && sudo apt install -y docker.iodocker run -d \ --name rhasspy \ -p 12101:12101 \ -v "$HOME/.config/rhasspy:/data" \ --restart unless-stopped \ rhasspy/rhasspy:latest \ --user-profiles /data \ --profile it Il comando scarica l’immagine più recente, espone la porta 12101 per l’interfaccia web e imposta il profilo lingua it.
Se si utilizza Home Assistant, è possibile aggiungere Rhasspy direttamente dal Supervisor → Add‑on Store. Dopo aver inserito il repository (senza creare link esterni) basta cliccare su Install, avviare l’add‑on e accedere all’interfaccia web tramite http://<em>IP_HA</em>:12101.
Dopo l’avvio, la prima cosa da verificare è il corretto funzionamento del microfono. Nella sezione Audio dell’interfaccia Rhasspy selezionare il dispositivo di input (es. hw:1,0 per ReSpeaker 4‑Mic). È consigliabile attivare la cancellazione del rumore (Noise Suppression) e impostare un threshold adeguato per evitare falsi attivamenti.
Per l’italiano Rhasspy supporta diversi motori STT:
Nell’interfaccia, nella scheda STT, selezionare Vosk e caricare il modello it‑IT (disponibile nella sezione “Download” del pannello).
Per la sintesi vocale in italiano sono consigliati:
Impostare il TTS nella scheda TTS scegliendo Coqui TTS e il modello it_IT. È possibile regolare la velocità (speed) e il pitch per adattare la voce al proprio ambiente.
Gli intent sono le azioni riconosciute da Rhasspy. Si definiscono tramite sentences (frasi modello) e intents (file JSON). Ecco un esempio di file lights.txt:
[AccendiLuce] accendi (la | il) luce {room}[SpegniLuce] spegni (la | il) luce {room}[StatoLuce] (qual è | qual è lo stato di) la luce {room} Il placeholder {room} è un slot che può assumere valori come “cucina”, “soggiorno” o “camera da letto”. Dopo aver salvato il file, cliccare su Train per addestrare il motore di riconoscimento.
Rhasspy gestisce perfettamente i comandi locali, ma non dispone di un motore di ricerca avanzato né di integrazioni native per servizi come Google Calendar, YouTube o Google Maps. Collegandolo a Google Assistant è possibile delegare questi compiti al cloud solo quando necessario, mantenendo comunque il riconoscimento vocale locale.
Il flusso tipico è il seguente:
Assist.Per utilizzare l’API di Google Assistant è necessario un progetto Google Cloud con:
credentials.json da inserire nella cartella /data/google-assistant di Rhasspy.Dopo aver posizionato il file, nella sezione Google Assistant dell’interfaccia Rhasspy impostare il percorso del file e premere Authorize. Verrà visualizzato un URL da aprire su un browser; inserendo il codice di verifica si completa l’autenticazione.
Per indicare a Rhasspy quali intent devono essere inviati a Google Assistant, è necessario aggiungere la proprietà forward: true nel file di intent. Esempio:
{"name": "TempoRoma", "slots": [], "forward": true, "text": "Che tempo farà a Roma?"} In alternativa, è possibile definire una regola globale nella sezione Intent handling impostando forward_intents: [TempoRoma, RicercaWeb].
Sul dispositivo che ospita Rhasspy (Raspberry Pi o PC) installare le dipendenze:
sudo apt-get updatesudo apt-get install -y python3-venv python3-pippython3 -m venv ~/google-assistant-envsource ~/google-assistant-env/bin/activatepip install --upgrade google-assistant-sdk[samples]pip install --upgrade google-auth-oauthlib[tool]Eseguire il comando di autorizzazione:
google-assistant-sdk-devicetool auth --client-secrets /data/google-assistant/credentials.json Copiare il codice di verifica mostrato nel browser nella console e completare il login. Il token verrà salvato in ~/.config/google-assistant-sdk/.
Nella UI di Rhasspy, andare su Settings → Services → Google Assistant e inserire:
credentials.json.~/.config/google-assistant-sdk/).it-IT.Salvare le impostazioni e riavviare Rhasspy per applicare le modifiche.
Creare un file google_intents.txt con contenuti simili a:
[TempoRoma] (che tempo farà | qual è il meteo) a Roma[RicercaWeb] (cerca su google | trova) {query}[ImpostaTimer] (imposta un timer di) {duration} minuti Per ogni intent aggiungere la proprietà forward: true nel file JSON corrispondente (es. TempoRoma.json).
Dalla UI di Rhasspy, utilizzare la sezione Test per inviare il comando “Che tempo farà a Roma”. Se tutto è configurato correttamente, Rhasspy dovrebbe inoltrare il testo a Google Assistant, ricevere la risposta (“A Roma è sereno, 18°C”) e riprodurla tramite il TTS.
Supponiamo di avere una luce “cucina” gestita da Home Assistant. L’intent AccendiLuce è gestito localmente. Tuttavia, se l’utente dice “Accendi la luce della cucina e dimmi se c’è il sole”, Rhasspy può:
TempoRoma e forwardarla a Google Assistant.Il risultato è un unico comando vocale che combina automazione locale e informazione cloud.
Un file info.txt può contenere:
[MeteoCitta] (che tempo fa | qual è il meteo) a {city}[Notizie] (dammi | mostrami) le notizie di {category} Entrambi gli intent hanno forward: true. Rhasspy invierà il testo a Google Assistant, che risponderà con le informazioni richieste.
Per gestire timer localmente è possibile utilizzare il modulo Timer di Rhasspy, ma se si preferisce la precisione di Google Assistant si può forwardare l’intent:
[ImpostaTimer] (imposta un timer di) {duration} minuti Il valore {duration} viene passato a Google Assistant, che avvierà il timer e, al termine, invierà una notifica vocale al dispositivo Rhasspy.
energy_threshold che riduca i falsi attivamenti.sentences.ini per coprire vocaboli di dominio (es. “cameretta”, “sala studio”).Se la latenza supera i 2‑3 secondi, verificare:
htop per monitorare). Questo errore indica che il token OAuth è scaduto. È necessario rieseguire il comando di autenticazione (vedi sezione Autenticare l’account Google) oppure impostare un refresh token automatico aggiungendo l’opzione --auto-refresh al comando di avvio del servizio.
Rhasspy espone i log tramite l’interfaccia web nella scheda Logs. Per un debug più approfondito, è possibile avviare Rhasspy in modalità debug:
docker run -d --name rhasspy -p 12101:12101 \ -v "$HOME/.config/rhasspy:/data" \ rhasspy/rhasspy:latest \ --profile it --debugI messaggi più dettagliati mostrano il flusso di intent, i payload inviati a Google Assistant e le eventuali risposte di errore.
L’integrazione con Google Assistant introduce un punto di contatto con i server Google. Per minimizzare l’esposizione dei dati:
Il resto dell’infrastruttura (STT, TTS, automazioni) rimane completamente locale, garantendo che le conversazioni quotidiane non vengano registrate su cloud.
Caratteristica | Rhasspy (offline) | Google Assistant (cloud) |
|---|---|---|
Privacy dei dati | Elevata – tutti i dati rimangono in locale | Media – i dati vocali sono inviati a Google |
Dipendenza da internet | Assoluta – funziona anche offline | Necessaria per la maggior parte delle funzioni |
Capacità di ricerca | Limitata – richiede integrazioni esterne | Avanzata – accesso a Knowledge Graph, Maps, YouTube |
Supporto linguistico | Modelli personalizzabili, ma meno raffinati | Riconoscimento e sintesi di alta qualità in molte lingue |
Consumo di risorse | Moderato – dipende dal modello STT/TTS scelto | Minimo sul dispositivo (solo invio audio) |
Scalabilità | Facile da distribuire su più dispositivi locali | Scalabilità gestita da Google, ma con costi di banda |
credentials.json.google-assistant-sdk-devicetool auth.TempoRoma).forward: true nei file JSON degli intent.Integrare Rhasspy con Google Assistant consente di ottenere il meglio di entrambi i mondi: la privacy e la reattività di un assistente locale, unita alla potenza informativa dei servizi cloud di Google. Seguendo i passaggi descritti in questa guida è possibile realizzare un sistema vocale completo, personalizzabile e pronto per l’uso sia in ambito domestico sia in contesti professionali dove la sicurezza dei dati è fondamentale.
Ricordate che la chiave del successo è una configurazione accurata del microfono, la scelta di modelli STT/TTS adeguati alle capacità hardware e una gestione consapevole dei token di accesso a Google. Con questi accorgimenti, il vostro assistente vocale sarà pronto a rispondere a comandi in italiano, a gestire la domotica e a fornirvi informazioni aggiornate, il tutto senza compromettere la privacy della vostra casa o del vostro ufficio.
Nel panorama attuale dell', la tendenza si sta spostando rapidamente verso gli ...
Leggi ->Nei vari agiornamenti di WhatsApp il grupo di Meta ha introdotto un po in sordina ...
Leggi ->Il panorama dell' ha subito un'accelerazione strategica senza precedenti con l'annuncio ...
Leggi ->Nel settore food & beverage la sicurezza alimentare, la tracciabil ...
Leggi ->L'energia solare sta rivoluzionando le ...
Leggi ->L'Internet of Things (IoT) rappresenta u ...
Leggi ->Nel panorama attuale, le reti aziendali sono sempre più complesse: il lavoro remoto, l’ ...
Leggi ->Installare un impianto fotovoltaico ...
Leggi ->Se sei giunto qui significa che ti sei trovato difronte alla necessità di avere i ...
Leggi ->