← ClaudeAtlas

ha-voicelisted

Set up voice control (speech in and out) for Assist in a chosen language — especially Ukrainian, Polish, or any language Home Assistant's English-only default does not offer — using local Whisper (speech-to-text) + Piper (text-to-speech) with Claude as the conversation agent. Use when the user wants to TALK to Claude by voice in their language, or says Assist voice has no option for their language on their phone.
LayerTM/ClaudeInHA · ★ 0 · AI & Automation · score 70
Install: claude install-skill LayerTM/ClaudeInHA
Assist voice = three stages: **STT** (speech → text) → **conversation agent** (Claude) → **TTS** (text → speech). Claude (the companion integration's agent — it appears in the Assist dropdown as **"Claude Code"**, and declares `supported_languages = MATCH_ALL`, so it never restricts the pipeline language) already understands every language — the only gap for non-English voice is the STT/TTS engines. This wires up a **fully local** pipeline: **Whisper** (STT, multilingual) + **Piper** (TTS) + Claude, in the user's language. The only cloud call is Claude itself, exactly like the text chat. **Key architecture (verified live 2026-07-09):** install Whisper and Piper **ONCE** (not per language). A single multilingual Whisper + a single Piper serve **all** languages — each Assist assistant (pipeline) carries its own language, which is passed to the engines per request, and Piper downloads the requested voice on demand. So for N languages you create N **assistants**, all pointing at the **same** two engines. Do NOT hard-pin Whisper to one language. Prefer driving the Supervisor via the console `ha` CLI over raw curl. Add-ons are addressed by **slug**. ## 1. Whisper — speech-to-text (install once, multilingual) ```bash ha addons | grep -iE 'whisper|faster' # find the slug (usually core_whisper) ha addons install core_whisper 2>&1 || echo "already installed" ``` In **Settings → Add-ons → Whisper → Configuration**, set: - **Model:** `small-int8` — multilingual (NOT a `.en` m