mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-29 18:46:59 +00:00
feat(voice): route wake phrases to their profile — "hey <profile>" wakes that profile
One sherpa listener now enrolls every wake-enabled profile's phrase (defaulting to "hey <profile name>") and reports WHICH phrase fired. wake.detected gains a profile field; the desktop live-switches to the matching profile (same path as the profile rail), opens a fresh session there, and starts hands-free voice. The single-profile CLI/TUI print the hermes -p switch command for foreign-profile phrases instead of answering as the wrong profile. Opt out per listener with wake_word.profile_routing: false.
This commit is contained in:
parent
567f47f01f
commit
2a35c8f0b8
10 changed files with 274 additions and 16 deletions
|
|
@ -125,6 +125,28 @@ wake_word:
|
|||
The small English KWS model (~13 MB) downloads once on first use. Each
|
||||
profile can set its own phrase — "hey \<profile\>" for every profile you run.
|
||||
|
||||
### Waking a specific profile (desktop)
|
||||
|
||||
With the sherpa engine, ONE listener can wake ANY profile. Every profile
|
||||
whose config has `wake_word.enabled: true` is enrolled automatically; its
|
||||
phrase defaults to `hey <profile name>` when unset. Say a profile's phrase
|
||||
and the desktop app live-switches to that profile, opens a fresh session
|
||||
there, and starts hands-free voice:
|
||||
|
||||
- "hey hermes" → default profile
|
||||
- "hey coder" → the `coder` profile
|
||||
- "hey trader" → the `trader` profile
|
||||
|
||||
Set `wake_word.profile_routing: false` on the listener's profile to opt out
|
||||
and listen only for its own phrase. The CLI and TUI are single-profile
|
||||
processes: a wake phrase belonging to another profile prints the switch
|
||||
command (`hermes -p <profile>`) instead of routing.
|
||||
|
||||
Names are matched acoustically by their English subword sounds: two-word
|
||||
phrases with distinct, 2+ syllable names work best. Very short names, heavy
|
||||
non-English phonology, or two profiles with similar-sounding names will
|
||||
degrade accuracy — tune per-profile `sensitivity` if needed.
|
||||
|
||||
### Option B — openWakeWord (free, trained model)
|
||||
|
||||
Name a built-in model (`hey_jarvis`, `alexa`, `hey_mycroft`, …), or train a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue