Proudly debugging the system since 1981

Tag: assistente vocale

Piper su Home Assistant: voci custom, troppi compromessi

Ho provato ad aggiungere una voce italiana personalizzata a Piper su Home Assistant (add-on), oltre a quelle già disponibili (Riccardo e Paola), ma alla fine ho deciso di rinunciare: funziona “a metà”, e per renderla davvero usabile con l’assistente vocale serve una modifica fragile che rischia di rompersi a ogni aggiornamento.

Nei primi tentativi ho seguito la strada più logica: scaricare un modello da Hugging Face e inserirlo nella cartella condivisa di Home Assistant. Ho creato via SSH la directory /share/piper e ci ho copiato i due file necessari del modello (il .onnx e il relativo .onnx.json).

All’inizio Piper non partiva nemmeno: dai log compariva un errore esplicito VoiceNotFoundError: giorgio. Il motivo era banale ma insidioso: avevo il file di configurazione col nome sbagliato (es. giorgio.json invece di giorgio.onnx.json). Dopo aver rinominato correttamente il file, l’add-on ha ripreso ad avviarsi senza errori.

Il problema vero è arrivato dopo: la voce “Giorgio” non compariva in nessuna lista, né nella configurazione dell’add-on, né nella selezione della voce dell’assistente vocale (pipeline). Ho provato anche a rinominare i file con uno schema più “standard” (tipo it_IT-giorgio-…), riavvii e reload dell’integrazione, ma niente.

A quel punto ho capito il limite: l’elenco delle voci mostrato nell’interfaccia dipende dal catalogo voices.json, che l’add-on scarica automaticamente e aggiorna all’avvio (nei log si vede il download e il salvataggio in /data/voices.json). Quindi sì, potrei entrare nel container e modificarlo, ma dovrei poi bloccare o gestire gli aggiornamenti (o accettare che le modifiche vengano sovrascritte). Troppo rischio e troppa manutenzione per un “semplice” cambio voce.

Morale: voce custom ok per esperimenti, ma per una configurazione stabile dell’assistente vocale ho preferito restare su voci ufficialmente supportate dal catalogo

Come ho configurato un assistente vocale locale con Anker PowerConf su Home Assistant OS

Ciao! Dopo un lungo percorso di test e configurazione, ho finalmente un assistente vocale locale funzionante sul mio Raspberry Pi con Home Assistant OS, usando l’Anker PowerConf come speakerphone USB. Wake word “Hey raspy”, voce italiana “Riccardo low” e trascrizione Whisper locale (lenta ma gratuita). Ecco il mio viaggio, strumenti usati, problemi risolti e risorse.

Strumenti utilizzati

  • Hardware: Anker PowerConf (speaker + microfono USB), Raspberry Pi (HA OS 2026.2.1).
  • Software:
    • Assist Microphone (add-on principale per input/output audio).
    • openWakeWord (wake word “Hey raspy”).
    • Wyoming Faster Whisper (STT locale).
    • Piper TTS (“Riccardo low”).

Config Assist Microphone finale:​

textsound_enabled: true
noise_suppression: 5
auto_gain: 3
mic_volume_multiplier: 3
sound_volume_multiplier: 1
debug_logging: true

Passi della configurazione

  1. PowerConf USB: Riconosciuto come alsa_input.usb-Anker_PowerConf.mono-fallback / alsa_output.usb-Anker_PowerConf.analog-stereo (ha audio info).
  2. Add-on installati:
    • openWakeWord.
    • Faster Whisper.
    • Piper TTS.
    • Assist Microphone (input/output PowerConf).
  3. Pipeline (Impostazioni → Assistenti vocali):
    • Wake word: openWakeWord → “Hey raspy”.
    • STT: Faster Whisper.
    • TTS: Piper → “Riccardo low”.
  4. Test: “Hey raspy, che ora è?” → wake word, trascrizione, TTS dal PowerConf.

Difficoltà e soluzioni

  • PowerConf riconosciuto ma ALSA vuoto (arecord -l vuoto): sudo alsa force-reload + restart PipeWire. Confermato con pactl list sources short.
  • openWakeWord instabile (1/20): YAML config: textthreshold: 0.2 trigger_level: 1 debug_logging: true
    • Assist Microphone auto_gain: 3, mic_volume_multiplier: 3 → ~70-80% affidabile.
  • Errore “assistente non connette a HA”: Impostazione corretta URL di Home assistant in Configurazione → Rete
  • Whisper lento (10-20s): Funziona locale; opzione futura Whisper Cloud.

Risorse utili

Funziona per comandi base, wake word migliorato ma non perfetto. Whisper locale gratuito ma lento.
L’ agente di conversazione e’ stato realizzato con Extended OpenAI Conversation, una estensione disponibile su HACS che permette di usare LLM di altre provider diversi da OpenAI. La scelta e’ stata per un proxy OpenWebUI che a sua volta rimanda a Groq.

Penso passero a Whisper cloud in quanto le limitate risorse del raspberry permettono di far girare solo un modello piccolo (tiny e small.int8) che non solo e’ lento ma anche impreciso, specie con la lingua italiana per la quale non e’ disponibile un modello specifico ma si deve usare il modello internazionale.

© 2026 b0sh.net

Tema di Anders NorenSu ↑