Aller au contenu
login
arrow_backRetour aux issues
mbailey/voicemode #485

Always-on hands-free voice — wake-word activation + ambient listen ("Hey Claude")

ecoDébutant enhancement help wanted

descriptionDescription

## North star Just call your assistant by name and start talking — no keyboard or screen needed. Pop in your wireless headphones, connect a wireless speaker, or just use your computer's mic, and Claude is simply there by voice, like a colleague in the room. Say "Hey Claude" (or whatever you've named your assistant), speak, hear the answer, carry on. This is an umbrella / north-star issue. It **consolidates three existing requests** that are all facets of the same dream: - **#58 — Listening for a wake word** (@shenzo1): wake-word gating so VoiceMode is always listening but only acts when called. - **#457 — Ambient always-on mode** (@DaemonNZ): a continuous VAD-gated listen/respond loop that runs in the background instead of per-`converse`. - **#210 — Trigger word for end-of-speech / "walkie-talkie mode"** (@evbrandy): an explicit spoken end-marker ("over") for noisy environments where silence-VAD struggles. Those three are being closed and folded in here so there's a single place to track the vision — thank you all for the original write-ups; the detail is carried forward below. ## Building blocks **1. Wake-word activation ("Hey Claude").** A lightweight always-on wake-word detector (e.g. openWakeWord / Porcupine) gates the heavier STT pipeline — the mic is always open, but transcription and the agent only fire after the wake word. Configurable phrase, so you can name your assistant. (from #58) **2. Ambient continuous-listen loop.** A VAD-gated (Silero) capture loop that runs in the background, independent of an explicit `converse` call; on end-of-utterance it transcribes and injects into the Claude Code session. Needs a state machine with mic gating so the assistant doesn't hear itself or barge over its own TTS. (from #457) **3. Explicit end-of-speech trigger word ("over").** For noisy environments (street, café, outdoors), an optional spoken end-marker that ends recording immediately and is stripped from the transcript — robustness for when silence detection can't be trusted. (from #210) ## How this connects to what just shipped The **control channel** (VM-1676 — on master, ships next release) is the deterministic-trigger foundation: a Stream Deck button, a media key, a **spoken keyword**, or any local process can pause / resume / stop in-flight TTS without going through the agent. That spoken-keyword path is the same machinery a wake/trigger word rides on. **Next up is skip forward / back over that same channel, which gives true barge-in** — the missing piece that makes a continuous conversation feel natural (interrupt the assistant mid-sentence and it just keeps up). Rough order: control channel (done) → skip / barge-in → wake-word + ambient loop = "Hey Claude" always-on. ## Help wanted This is a big, high-value feature and a great place for community contribution — several building blocks (wake-word detection, the ambient state machine) are well-trodden ground with solid open-source libraries. A few people have already prototyped pieces of this; if that's you, please chime in here.
codeOuvre sur GitHub