github knoop7/Ava 0.4.9

6 hours ago

1. Home Sidebar Menu (New)

A slide-out sidebar from the screen edge that consolidates floating-window features (voice messages, browser, weather, clock, quick entity panel) and quick controls (camera recording, mic mute) into a single switchable menu. Top shows current voice service status; bottom provides Settings access.

Where to find it

  • Enable: Settings → Device Services → Sidebar Settings → Enable Sidebar
  • Use: Swipe from left/right edge handle (direction configurable)
  • Per-item toggle: Settings → Device Services → Sidebar Settings
  • Optional header hide: Settings → Device Services → Hide Home Header (requires Sidebar + Show Other App Icons)
Mac_2026-06-13 03 03 21

Defaults

Disabled by default. Takes effect immediately without restart. Individual menu items also default off; enable the main feature switch first, then check it in Sidebar Settings.

Configurable entries

Sidebar Item Prerequisite Feature Settings Path
Voice Messages Enable Voice Messages Settings → Extensions → Voice Messages & Calls
Browser HA Remote Webpage Settings → Web Browser
Weather Weather Floating Window Settings → Extensions → Scenes
Minimal Clock Screensaver / Minimal Clock Settings → Screensaver
Dream Clock Dream Clock Settings → Extensions → Scenes
Quick Entity Panel Quick Entity Settings → Extensions → Scenes
Recording Toggle Camera Recording Mode Settings → Advanced (Camera + Recording Mode)
Mic Mute Always available
Settings Always shown Bottom of sidebar

Usage notes

  • Floating-window items are inoperable when voice service is not running; start the service first.
  • Switching floating-window features requires "Display over other apps" permission; unauthenticated attempts redirect to system settings.
  • With Sidebar + Desktop Icon mode enabled, the top-right service status moves to the right of the "Menu" header in the sidebar, tap to start/stop the master service. Home header can be hidden; Settings access shifts to the sidebar bottom.

Home scenarios

  • Wall-mounted panel: Hide home header, keep only app icons and edge menu for a cleaner interface.
  • Kitchen tablet: One-tap weather, clock, voice messages from sidebar without deep navigation.
  • Bedroom device: Quick mic mute or dream clock toggle without disturbing the main view.

2. Wake Visual Feedback Upgrade

Clearer visual feedback during wake and conversation:

  • Wake instant: Colorful ripple expanding from screen center (Android 13+ uses RuntimeShader with distorted halo + star particles; Android 7 uses soft circular diffusion; compatibility paths for other versions)
  • Conversation (when floating subtitle is disabled): Full-screen edge glow that changes with state:
    • Listening: Edge light breathes with microphone volume
    • Processing: Slow breathing animation
    • Speaking: Pulsates with TTS energy
  • Dual wake-word color coding: Wake word 1 = green (#00FF88), wake word 2 = cyan (#00D4FF); ripple and edge light match the triggered wake word

Where to find it

  • Edge glow session: Settings → Extensions → Interface, disable "Floating Subtitle Window" to enable full-screen edge glow
  • Ripple only: Settings → Extensions → Interface → Floating Subtitle Window enabled; wake shows ripple, conversation content goes to subtitle floating window
  • Wake-word colors: Determined by Wake Word 1 / Wake Word 2 in Settings → Voice Config

Technical notes

  • Edge glow uses pre-rendered Gaussian blur bitmaps; per-frame cost is texture-only for performance
  • Ripple animation driven by system uptime to prevent Kiosk devices with "animation duration = 0" from killing the effect instantly
  • Android 7.0/7.1 optimized to clean circular diffusion without Shader dependency

Home scenarios

  • Living room voice: Obvious ripple on wake so family can confirm the device heard
  • Dual wake-word household: "OK Nabu" and "Hey Jarvis" in different colors; instant visual identification of which word triggered
  • 24/7 wall display: Animation plays correctly even on low-power devices

3. Wake-Word Engine Fixes & Enhancements

0.4.8 introduced the VS wake engine; 0.4.9 completes stability and compatibility:

  • Per-engine wake-word persistence: microWakeWord and vsWakeWord save their own active lists independently; switching engines no longer overwrites each other
  • Cross-engine ID mapping: e.g., micro's okay_nabu auto-maps to VS's ok_nabu; HA-configured wake words also resolve correctly
  • HA config sync: Home Assistant wake-word changes merge with local active lists compatibly, reducing "configured but not active" issues
  • VS stop word: ok_stop supported as stop-word classifier under VS engine
  • Built-in VS models: ok_nabu, hey_jarvis, ok_stop (stop word)

Where to find it

Settings → Voice Config (ESPHome)

  • Wake engine: On-device (microWakeWord) / On-device (vsWakeWord)
  • Wake word 1 / Wake word 2 + sensitivity
  • Wake prompt tone, custom prompt tone

Home scenarios

  • Switching from micro to VS: Individual wake-word selections are preserved; no reconfiguration needed
  • HA voice assistant card: HA wake-word changes correctly map and take effect on Ava
  • Dual wake words: Two words with independent sensitivity; trigger color and prompt tone can also differ (wake word 2 prompt tone in Settings → Voice Config)

Engine Comparison: microWakeWord vs vswakeword

Dimension microWakeWord vswakeword
Architecture TFLite binary classification ONNX CTC phoneme decoding + edit distance
Model size 50–80KB, uint8 quantized 500KB
Inference 10ms frame, stride 3 80ms cycle, 1300ms window, 128×40 feature map
Frontend microfeatures Adaptive noise floor + spectral VAD
Decision 5-frame sliding window mean Voice gate → CTC confidence → edit distance ≤1 → 2-hit confirm → 2s cooldown
Output Scalar 0–1 probability Phoneme sequence with traceability
Wake-word swap Full retraining required Manifest JSON hot-swap
CPU / memory Minimal Significantly higher
False wake defense Threshold only (zero-sum trade-off) Multi-layer independent gates
Interpretability None Phoneme-level debugging
Best for Low-end Android 7 persistent background Noise-sensitive, explainability-required deployments

Trade-off summary

  • microWakeWord: Lightweight sentinel. Fast, lean, but sensitivity and false acceptance are a direct exchange with no second defense line.
  • vswakeword: Discriminating gatekeeper. Stronger noise rejection and phoneme-level explainability at the cost of CPU, power draw, and tuning complexity.

Don't miss a new Ava release

NewReleases is sending notifications on new releases.