-
-
Notifications
You must be signed in to change notification settings - Fork 8
Voice Control.md
Voice control is the core feature of Ava, allowing you to control smart home devices by speaking.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ You speak │ -> │ Ava records │ -> │Home Assistant│ -> │ Ava plays │
│ wake word + │ │ sends audio │ │ speech │ │ voice │
│ command │ │ │ │ recognition │ │ reply │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
Detailed Flow:
- Standby: Ava continuously listens for wake word (local processing, no internet)
- Wake Detection: When wake word detected, plays prompt sound, starts recording
- Audio Transmission: Recording sent to Home Assistant via ESPHome protocol
- Speech Recognition: Home Assistant's voice assistant performs speech-to-text
- Intent Processing: Home Assistant understands intent and executes action
- Speech Synthesis: Home Assistant generates voice response
- Playback: Ava receives and plays voice response
Wake words trigger voice recognition. Ava uses local wake word detection, no internet required.
| Wake Word | Description |
|---|---|
| Hey Jarvis | Default, Iron Man style |
| Alexa | Amazon style |
| Hey Google | Google style |
| OK Google | Google style |
| Hey Mycroft | Mycroft style |
| Hey Siri | Apple style (testing only) |
- Open Ava app
- Go to Settings → Voice Satellite
- Find Wake Word option
- Select your preferred wake word
- New wake word takes effect immediately
Ava uses microWakeWord for local wake word detection:
- Based on TensorFlow Lite models
- 16kHz sample rate, 16-bit audio
- Sliding window probability calculation
- Fully local processing, privacy protected
Stop words interrupt the current conversation or stop Ava's response.
| Stop Word | Description |
|---|---|
| Stop | Default |
| Never mind | Cancel |
| Cancel | Cancel |
- Ava is playing a long response, you want to interrupt
- You made a mistake, want to start over
- You changed your mind, don't want to execute command
Wake sound is played when Ava starts recording, letting you know you can start speaking.
| Option | Description |
|---|---|
| On | Play prompt sound |
| Off | Silent recording start |
| Custom | Choose your own sound file |
- Go to Settings → Voice Satellite
- Find Wake Sound option
- Choose on/off, or select custom audio file
Mute mode turns off the microphone, Ava won't respond to any wake words.
- In meetings, don't want interruptions
- Watching movies, avoid false triggers
- Temporarily disable voice features
Method 1: In Settings
- Go to Settings → Voice Satellite
- Turn on Mute switch
Method 2: Home Assistant Control
service: switch.turn_on
target:
entity_id: switch.your_device_name_muteContinuous conversation lets you issue multiple commands without saying the wake word each time.
- Say wake word + first command
- After Ava responds, automatically enters listening mode
- Say next command directly (no wake word needed)
- After a few seconds of silence, exits continuous conversation mode
- Go to Settings → Interaction
- Turn on Continuous Conversation switch
Conversation subtitles display what you said and Ava's response on screen.
- Your speech: Displayed at top of screen
- Ava's response: Displayed at bottom of screen
- Go to Settings → Interaction
- Turn on Conversation Subtitles switch
| Setting | Location | Description | Default |
|---|---|---|---|
| Device Name | Voice Satellite | Name shown in HA | device_model_voice_assistant |
| Port | Voice Satellite | ESPHome communication port | 6053 |
| Wake Word | Voice Satellite | Word that triggers recognition | Hey Jarvis |
| Stop Word | Voice Satellite | Word that interrupts conversation | Stop |
| Wake Sound | Voice Satellite | Prompt sound when recording starts | On |
| Mute | Voice Satellite | Turn off microphone | Off |
| Continuous Conversation | Interaction | Issue commands continuously | Off |
| Conversation Subtitles | Interaction | Display conversation text | Off |
| Volume | Interaction | Response volume | 80% |
service: esphome.your_device_name_trigger_wake
data: {}# Enable mute
service: switch.turn_on
target:
entity_id: switch.your_device_name_mute
# Disable mute
service: switch.turn_off
target:
entity_id: switch.your_device_name_muteservice: media_player.volume_set
target:
entity_id: media_player.your_device_name
data:
volume_level: 0.8 # 0.0 - 1.0- Check if microphone permission is granted
- Check if mute mode is enabled
- Make sure device volume isn't muted
- Try speaking closer to device
- Try a different wake word
- Make sure environment isn't too noisy
- Speak at moderate speed, pronounce clearly
This is usually a Home Assistant issue:
- Check HA voice assistant configuration
- Make sure Whisper etc. components are working
- Check network latency
- Try speaking more clearly
Back to Home