# README โ€” VoskWyoming Satellite Remote voice satellite using the [Wyoming protocol](https://github.com/rhasspy/wyoming) for Home Assistant. [![An open standard from the Open Home Foundation](https://www.openhomefoundation.org/badges/ohf-open-standard.png)](https://www.openhomefoundation.org/) ## Features - ๐Ÿ  **Home Assistant integration** โ€” Native Wyoming protocol support - ๐ŸŽค **Local wake word detection** โ€” Vosk-based Russian wake words ("ะฟั€ะธะฒะตั‚ ะดั€ะพะธะด", etc.) - ๐Ÿ”‡ **Audio enhancements** โ€” WebRTC noise suppression and automatic gain control - ๐Ÿ’ก **MQTT LED control** โ€” ReSpeaker XVF3800 4-MIC array support with HA discovery - ๐ŸŽฏ **Voice Activity Detection** โ€” Silero or WebRTC VAD for privacy-focused operation ## Quick Start ### 1. Install ```bash git clone ~/projects/Satellite cd ~/projects/Satellite python3 -m venv ~/.venv_satellite source ~/.venv_satellite/bin/activate pip install -r requirements.txt ``` ### 2. Install systemd Services ```bash sudo ./install_systemd_services.sh ``` ### 3. Start ```bash sudo systemctl enable --now wyoming-satelite-vosk.service sudo systemctl status wyoming-satelite-vosk.service ``` In Home Assistant: **Settings โ†’ Devices & Services โ†’ Discovered โ†’ Wyoming Satellite โ†’ Configure** --- ## Documentation | Guide | Description | |-------|-------------| | [**Deployment**](DEPLOY.md) | Full deployment guide with systemd services | | [**Tutorials**](docs/tutorials/) | Step-by-step setup for different hardware | | [**Architecture**](docs/architecture/overview.md) | How Wyoming Satellite works | | [**MQTT LED**](docs/integration/mqtt-led.md) | LED control with Home Assistant | | [**VAD Integration**](docs/integration/vad-wakeword.md) | Technical integration guide | ### Tutorials - [**2-MIC HAT**](docs/tutorials/2mic-hat.md) โ€” Raspberry Pi + ReSpeaker 2-MIC HAT - [**Installer**](docs/tutorials/installer.md) โ€” Interactive installer guide --- ## Requirements - **Python 3.9+** - **Linux** (tested on Raspberry Pi OS) - **Microphone** (USB or HAT) - **Optional:** ReSpeaker XVF3800 USB 4-MIC Array (for LED control) --- ## Project Structure ``` Satellite/ โ”œโ”€โ”€ wyoming_satellite/ # Main Python package โ”œโ”€โ”€ examples/ # Example scripts (LED, MQTT, configs) โ”œโ”€โ”€ services/ # systemd service files โ”œโ”€โ”€ docs/ # Documentation โ”‚ โ”œโ”€โ”€ tutorials/ # Hardware-specific guides โ”‚ โ”œโ”€โ”€ integration/ # Technical integration guides โ”‚ โ”œโ”€โ”€ deployment/ # Deployment guides โ”‚ โ””โ”€โ”€ architecture/ # Architecture documentation โ”œโ”€โ”€ sounds/ # Audio files (awake.wav, etc.) โ”œโ”€โ”€ scripts/ # Helper scripts โ””โ”€โ”€ tests/ # Unit tests ``` --- ## Configuration ### Wake Words (Russian) Edit `start_satellite.sh`: ```bash --wake-word-name "ะฟั€ะธะฒะตั‚ ะดั€ะพะธะด" --wake-word-name "ะฟั€ะธะฒะตั‚ ะฟั€ะธะดัƒั€ะพะบ" --wake-word-name "ะฟั€ะธะฒะตั‚ ะถะพะฟะฐ ั ัƒัˆะฐะผะธ" ``` ### Audio Settings ```bash --mic-noise-suppression 2 --mic-auto-gain 5 ``` ### VAD Settings ```bash --vad --vad-system webrtc --vad-threshold 0.5 ``` --- ## Development ```bash # Linting pylint wyoming_satellite/ mypy wyoming_satellite/ # Tests pytest tests/ # Format black wyoming_satellite/ isort wyoming_satellite/ ``` --- ## Video Tutorials - [Wyoming Voice Satellite with ChatGPT](https://www.youtube.com/watch?v=eTKgc0YDCwE) - [Local ChatGPT Voice Assistant](https://www.youtube.com/watch?v=pAKqKTkx5X4) --- ## External Resources - [Wyoming Protocol](https://github.com/rhasspy/wyoming) - [Home Assistant Integration](https://www.home-assistant.io/integrations/wyoming) - [Vosk](https://alphacephei.com/vosk/) - [ReSpeaker 4-MIC Array](https://github.com/respeaker/usb_4mic_array) --- ## License This project is part of the Open Home Foundation ecosystem. [![An open standard from the Open Home Foundation](https://www.openhomefoundation.org/badges/ohf-open-standard.png)](https://www.openhomefoundation.org/)