RobOS Home Speaker

Two-way smart speaker intercom, Home Assistant Voice PE (NC-VK-9727) hands-free voice approval, neural TTS broadcast, and soundboard.

packages/home-speaker

RobOS Home Speaker turns your workstation into a zero-cloud, two-way smart speaker intercom and voice-approval hub. It supports Home Assistant Voice Preview Edition (NC-VK-9727) as its #1 first-class hardware device alongside ESPHome voice satellites and Google Home / Nest speakers.

Live Demo Video: Hands-Free Voice Approval ("Is it okay to push to main?")

Watch RobOS Home Speaker ask a question out loud on the Home Assistant Voice (NC-VK-9727), automatically open the speaker’s microphone as soon as the question finishes (no wake word and no button press needed), transcribe the spoken answer locally with Whisper ("Yes it is."), and confirm out loud:


Architecture Overview

RobOS Home Speaker & Home Assistant Voice PE Architecture

flowchart LR
  subgraph WORKSTATION["RobOS Workstation (packages/home-speaker :19200)"]
    TTS["Kokoro-82M Neural TTS<br/>FFmpeg 48kHz 16-bit FLAC Transcoder"]
    ANNOUNCE["EspHomeVoiceService<br/>VoiceAssistantAnnounceRequest (ID 119)<br/>start_conversation = true (field 4)"]
    STT["Local Whisper ASR<br/>(Xenova/whisper-tiny.en)<br/>550ms Echo Guard + RMS VAD"]
    TTS --> ANNOUNCE
  end

  subgraph LAN["Zero-Cloud Local Network (TCP :6053 & Improv BLE)"]
    OUT["48kHz FLAC Stream + LED Ring RGB (ID 32 & 65)"]
    IN["Auto-Triggered 16kHz PCM Mic Stream (ID 90 & 106)"]
  end

  subgraph DEVICE["Home Assistant Voice PE (NC-VK-9727)"]
    DAC["TI TLV320AIC3204 DAC<br/>Speaker + 12-LED RGB Halo Ring"]
    XMOS["XMOS XU316 Dual-Mic Array<br/>Echo Cancellation & Noise Suppression"]
  end

  ANNOUNCE --> OUT --> DAC
  DAC -. "AnnounceFinished (ID 120) -> Auto-Start Mic" .-> XMOS
  XMOS --> IN --> STT
  STT -- "Spoken Confirmation Reply" --> TTS

Key Features

  • Hands-Free Two-Way Voice Questions & Approvals (start_conversation = true): Ask the user a question out loud on the speaker (for example, “What is your name?” or “Is it okay to push to main?”) and automatically open the speaker’s microphone the instant playback finishes—no “Okay Nabu” wake word or physical button press required.
  • Incoming from Speaker (Listen Mode):
    • Record from Speaker Now: Remotely open the speaker’s microphone with one click from your computer.
    • Wake Word & Center Button: Also listens continuously for “Okay Nabu” or a press of the speaker’s center button.
    • Local Whisper Speech-to-Text: Transcribes 16 kHz PCM audio from the speaker’s dual-microphone array locally on your machine using @xenova/transformers (Xenova/whisper-tiny.en) with a 550 ms acoustic echo guard.
    • Auto-Reply Out Loud: Automatically speaks the response back on the speaker using Kokoro-82M neural TTS.
  • Add Smart Speaker Wizard:
    • #1 Featured Device: Nabu Casa Home Assistant Voice Preview Edition (NC-VK-9727).
    • Bluetooth Wi-Fi Setup (Improv BLE): Scans for unprovisioned ha-voice-pe-* units over Bluetooth Low Energy (00467768-6228-2272-4663-277478268003) and provisions 2.4 GHz Wi-Fi credentials directly from Linux (bluetoothctl).
    • Plain-English Cards: Simple layman’s descriptions with collapsible ▸ Show details / ▸ Show technical details sections.
  • Push-to-Talk Voice Walkie-Talkie: Record voice notes on your desktop with a live waveform visualizer and broadcast them to any room.
  • Neural Text-to-Speech Intercom: Synthesize natural announcements with Kokoro-82M (af_heart, am_michael, am_adam, af_bella, af_nicole, bf_emma) and Piper neural voices.
  • Instant Soundboard, Ambient Focus & Music Library: Stream sound effects, procedural focus soundscapes, or tracks from RobOS Audio Player (~/.config/robos/audio-library.json), transparently transcoded to 48 kHz 16-bit mono FLAC for the NC-VK-9727.

Screenshots

Two-Way Voice Intercom & Listen Mode Add Smart Speaker Wizard (NC-VK-9727 #1)
Two-Way Voice Intercom Add Smart Speaker Wizard

Supported Hardware

  1. Nabu Casa Home Assistant Voice Preview Edition (NC-VK-9727) — Featured #1 supported smart speaker & two-way voice satellite (ESPHome Native API :6053, 48 kHz FLAC streaming, 12-LED RGB Halo Ring control, XMOS XU316 dual-mic array, rotary volume dial, and Improv BLE Wi-Fi setup wizard).
  2. ESPHome Voice Satellites & Media Players (:6053) — ESP32-S3-BOX-3, M5Stack Atom Echo, and custom ESPHome nodes.
  3. Home Assistant Media Player Bridge (:8123) — Any media_player.* entity exposed via Home Assistant.
  4. Google Nest Audio, Nest Mini, Lenovo Smart Clocks & Chromecast Audio (:8009) — Zero-cloud Google Cast streaming.

Files & Ports

  • App directory: packages/home-speaker/
  • ESPHome Native API & Two-Way Voice engine: packages/home-speaker/lib/esphome-voice-service.js
  • Speaker orchestration service: packages/home-speaker/lib/speaker-service.js
  • CLI tool: packages/robos-cli/robos-speaker
  • Snapshot debug port: 19200
  • Config cache: ~/.config/robos/home-speakers.json
  • Dedicated Wiki Guide: Home Assistant Voice (NC-VK-9727) Two-Way Intercom Guide

More in Desktop & Command Center

App Launcher

A searchable grid of the desktop applications installed on the machine, including the RobOS apps.

Desktop Customizer

A slash-command console that changes GNOME settings (clock, taskbar, theme, shortcuts, startup apps) and keeps git-backed snapshots to roll back.

Desktop Dashboard

A full-screen window that sits at desktop level and shows a grid of widgets; today it contains one clock and date widget.

Desktop Manager

The background process that launches RobOS apps, restarts the ones marked keep-alive, owns the tray icon and listens on a Unix socket.

Desktop Shell

Full-screen top bar and bottom dock for RobOS on a GNOME/X11 session, replacing the GNOME panel while it runs.

Desktop Widgets

A transparent panel on the right edge of the desktop with five status widgets: active task, system stats, AI agent, work journal and security.

Dev Central

Your daily task list: issues from your task servers as an epic tree, with buttons to start design or implementation agents and to open the related PR.

Dev Discussions

A chat-style view of discussion threads attached to tasks and pull requests, stored in a local cache with optional posting to GitHub.

Icon Manager

Shows the icon of every installed RobOS app, lets you replace one, and rewrites the apps' installed icon.svg and .desktop Icon= lines.

Manager Dashboard

Team metrics for one GitHub repository: open issues, merged PRs, PR cycle time, deploy frequency, approval rate, tasks by stage and PRs per developer.

Notifications Center

Shows the notification history stored in ~/.config/robos/notifications.json, with filters by category, tier and date, and edits the notification preferences.

Package Manager

Prototype screen for listing apps and daemons with start, stop and health-probe buttons. It shows built-in sample data.

RobOS App Manager

Choose, download, launch and remove RobOS apps

RobOS Audio Player

Open-source audio player, custom playlist engine, procedural focus soundscapes, and zero-cloud Google Cast smart speaker streaming.

RobOS Dashboards

Create KGraph graphical dashboards from card layouts where each widget is any RobOS component, embeddable via <robos-dashboard> and castable to Smart TVs

RobOS GNOME Desktop App Installer

Install, manage, and repair GNOME Desktop shortcuts, App Grid launchers, multi-scale icons, and Dock favorites for all RobOS apps.

RobOS Google Calendar

Installs Mozilla Thunderbird if needed and writes Google Calendar, Google Contacts and optional Gmail settings into its profile for a Google account from Cloud Accounts.

RobOS Home for Android

The home screen of the RobOS phone: the time, the date and every app, with the RobOS apps first.

RobOS Movie Player

Open-source cinema, TV series & Tablo OTA DVR player sharing the warm theater theme of RobOS Audio Player: 100,000-movie & TV series library, Show & Season Navigator, Tablo 4th Gen OTA DVR live & recorded broadcast streaming, TMDB/TVmaze posters, AI Watchlists, Virtual Cinema Host, synced .srt/.vtt subtitles, and a 3-row visual image-card Roku & Smart TV app.

RobOS Preferences

Settings window for RobOS apps: Config Sync & Sharing (cloud backup and shared configs), optional AI API mode, agent tiers, prompt security, GitHub accounts, IDE, notifications, journal and theme.

RobOS Preferences for Android

Signs in to Google Drive on an Android phone, opens your RobOS Config Sync backups and restores the settings phone apps use.

RobOS Smart TV Studio

Pair Smart TVs, build & sideload Developer Mode TV apps (LG webOS, Samsung Tizen, Google TV/ADB, Roku), serve the 10-foot D-Pad TV Portal (:19210), and stream 4K games.

Search Indexer

Builds plain-text lists of file paths under folders you choose, which RobOS text areas search for @-mentions.

Software Center

Install and manage coding-agent CLIs, IDEs, browsers, game tools and utilities on Windows or Linux.

System Logs Viewer

Viewer for the structured logs that RobOS apps write to ~/.config/robos/logs, with search and level filters.

Toast Daemon

Shows overlay toast windows for new entries in ~/.config/robos/notifications.json, with tiers, categories, do-not-disturb and anti-spam limits.

Workspace Manager

Window showing a sample multi-repo task workspace with sync, teardown and open-in-IDE buttons that return canned results. Discovery helpers exist in the code but are not wired to the window.