Commit ·
878ce1b
1
Parent(s): ab7ff67
Clean up project files and update README
Browse files- Remove unnecessary files (Dockerfile, app.yaml, etc.)
- Update README.md YAML front matter to match official format
- Use sdk: static instead of sdk: docker
- Dockerfile +0 -17
- README.md +5 -4
- README_ASSETS.md +0 -151
- README_HF_SPACES.md +0 -98
- app.yaml +0 -67
- index.html +0 -79
- requirements.txt +0 -8
- setup.ps1 +0 -34
- setup.py +0 -23
- setup.sh +0 -37
Dockerfile
DELETED
|
@@ -1,17 +0,0 @@
|
|
| 1 |
-
# Use Python 3.11 slim image
|
| 2 |
-
FROM python:3.11-slim
|
| 3 |
-
|
| 4 |
-
# Set working directory
|
| 5 |
-
WORKDIR /app
|
| 6 |
-
|
| 7 |
-
# Copy the application files (for display only)
|
| 8 |
-
COPY . .
|
| 9 |
-
|
| 10 |
-
# Expose the web port
|
| 11 |
-
EXPOSE 7860
|
| 12 |
-
|
| 13 |
-
# Set environment variables
|
| 14 |
-
ENV PYTHONUNBUFFERED=1
|
| 15 |
-
|
| 16 |
-
# Run simple HTTP server to display the index.html
|
| 17 |
-
CMD ["python", "-m", "http.server", "7860"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -3,11 +3,12 @@ title: Reachy Mini Home Assistant Voice Assistant
|
|
| 3 |
emoji: 🤖
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: indigo
|
| 6 |
-
sdk:
|
| 7 |
-
sdk_version: "1.0.0"
|
| 8 |
-
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
# Reachy Mini Home Assistant Voice Assistant
|
|
|
|
| 3 |
emoji: 🤖
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: indigo
|
| 6 |
+
sdk: static
|
|
|
|
|
|
|
| 7 |
pinned: false
|
| 8 |
+
short_description: Home Assistant Voice Assistant for Reachy Mini
|
| 9 |
+
tags:
|
| 10 |
+
- reachy_mini
|
| 11 |
+
- reachy_mini_python_app
|
| 12 |
---
|
| 13 |
|
| 14 |
# Reachy Mini Home Assistant Voice Assistant
|
README_ASSETS.md
DELETED
|
@@ -1,151 +0,0 @@
|
|
| 1 |
-
# Assets Setup Guide
|
| 2 |
-
|
| 3 |
-
This document explains how to set up the required assets (wake word models and sound files).
|
| 4 |
-
|
| 5 |
-
## Included Assets
|
| 6 |
-
|
| 7 |
-
All required wake word models and sound files are already included in the repository:
|
| 8 |
-
|
| 9 |
-
### Wake Word Models (microWakeWord)
|
| 10 |
-
|
| 11 |
-
- `okay_nabu.tflite` - "Okay Nabu" (default)
|
| 12 |
-
- `stop.tflite` - "Stop"
|
| 13 |
-
- `alexa.tflite` - "Alexa"
|
| 14 |
-
- `hey_jarvis.tflite` - "Hey Jarvis"
|
| 15 |
-
- `hey_home_assistant.tflite` - "Hey Home Assistant"
|
| 16 |
-
- `hey_luna.tflite` - "Hey Luna"
|
| 17 |
-
- `hey_mycroft.tflite` - "Hey Mycroft"
|
| 18 |
-
- `okay_computer.tflite` - "Okay Computer"
|
| 19 |
-
- `choo_choo_homie.tflite` - "Choo Choo Homie"
|
| 20 |
-
|
| 21 |
-
### Wake Word Models (openWakeWord)
|
| 22 |
-
|
| 23 |
-
Located in `wakewords/openWakeWord/`:
|
| 24 |
-
- `alexa_v0.1.tflite` - Alexa
|
| 25 |
-
- `hey_jarvis_v0.1.tflite` - Hey Jarvis
|
| 26 |
-
- `hey_mycroft_v0.1.tflite` - Hey Mycroft
|
| 27 |
-
- `hey_rhasspy_v0.1.tflite` - Hey Rhasspy
|
| 28 |
-
- `ok_nabu_v0.1.tflite` - Okay Nabu
|
| 29 |
-
|
| 30 |
-
### Sound Files
|
| 31 |
-
|
| 32 |
-
- `wake_word_triggered.flac` - Played when wake word is detected
|
| 33 |
-
- `timer_finished.flac` - Played when timer finishes
|
| 34 |
-
|
| 35 |
-
## Wake Word Models
|
| 36 |
-
|
| 37 |
-
The application uses two wake word engines:
|
| 38 |
-
- **microWakeWord**: Lightweight, good for embedded systems
|
| 39 |
-
- **openWakeWord**: More accurate, uses more resources
|
| 40 |
-
|
| 41 |
-
### Adding Custom Wake Words
|
| 42 |
-
|
| 43 |
-
#### microWakeWord Models
|
| 44 |
-
|
| 45 |
-
1. Download a model from [microWakeWord releases](https://github.com/kahrendt/microWakeWord/releases)
|
| 46 |
-
2. Place the `.tflite` file in the `wakewords/` directory
|
| 47 |
-
3. Create a corresponding `.json` file:
|
| 48 |
-
|
| 49 |
-
```json
|
| 50 |
-
{
|
| 51 |
-
"type": "microWakeWord",
|
| 52 |
-
"wake_word": "Your Wake Word",
|
| 53 |
-
"trained_languages": ["en"]
|
| 54 |
-
}
|
| 55 |
-
```
|
| 56 |
-
|
| 57 |
-
#### openWakeWord Models
|
| 58 |
-
|
| 59 |
-
1. Download a model from [home-assistant-wakewords-collection](https://github.com/fwartner/home-assistant-wakewords-collection)
|
| 60 |
-
2. Place the `.tflite` file in the `wakewords/` directory
|
| 61 |
-
3. Create a corresponding `.json` file:
|
| 62 |
-
|
| 63 |
-
```json
|
| 64 |
-
{
|
| 65 |
-
"type": "openWakeWord",
|
| 66 |
-
"wake_word": "Your Wake Word",
|
| 67 |
-
"model": "your_wake_word.tflite",
|
| 68 |
-
"trained_languages": ["en"]
|
| 69 |
-
}
|
| 70 |
-
```
|
| 71 |
-
|
| 72 |
-
### Popular Wake Words
|
| 73 |
-
|
| 74 |
-
Here are some popular wake words you can add:
|
| 75 |
-
|
| 76 |
-
- **Hey Jarvis**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/hey_jarvis/hey_jarvis.tflite)
|
| 77 |
-
- **Alexa**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/alexa/alexa.tflite)
|
| 78 |
-
- **Hey Google**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/hey_google/hey_google.tflite)
|
| 79 |
-
- **GLaDOS**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/glados/glados.tflite)
|
| 80 |
-
|
| 81 |
-
## Sound Files
|
| 82 |
-
|
| 83 |
-
The application uses sound files for feedback:
|
| 84 |
-
|
| 85 |
-
### Included Files
|
| 86 |
-
|
| 87 |
-
1. **wake_word_triggered.flac** - Played when wake word is detected
|
| 88 |
-
2. **timer_finished.flac** - Played when timer finishes
|
| 89 |
-
|
| 90 |
-
### Customizing Sound Files
|
| 91 |
-
|
| 92 |
-
You can replace these files with your own:
|
| 93 |
-
|
| 94 |
-
1. Keep them short (1-2 seconds)
|
| 95 |
-
2. Use FLAC or WAV format
|
| 96 |
-
3. Sample rate: 16kHz or 44.1kHz
|
| 97 |
-
4. Mono or stereo
|
| 98 |
-
|
| 99 |
-
### Example Using Online Tools
|
| 100 |
-
|
| 101 |
-
1. Go to [TTSMP3](https://ttsmp3.com/)
|
| 102 |
-
2. Enter text like "I'm listening" or "Timer finished"
|
| 103 |
-
3. Generate and download as MP3
|
| 104 |
-
4. Convert to FLAC using [Online Audio Converter](https://online-audio-converter.com/)
|
| 105 |
-
5. Replace the file in `sounds/` directory
|
| 106 |
-
|
| 107 |
-
## Directory Structure
|
| 108 |
-
|
| 109 |
-
After setup, your directory should look like:
|
| 110 |
-
|
| 111 |
-
```
|
| 112 |
-
reachy_mini_ha_voice/
|
| 113 |
-
├── wakewords/
|
| 114 |
-
│ ├── okay_nabu.json
|
| 115 |
-
│ ├── okay_nabu.tflite # Downloaded
|
| 116 |
-
│ ├── stop.json
|
| 117 |
-
│ ├── stop.tflite # Downloaded
|
| 118 |
-
│ ├── hey_jarvis.json # Optional
|
| 119 |
-
│ └── hey_jarvis.tflite # Optional
|
| 120 |
-
└── sounds/
|
| 121 |
-
├── wake_word_triggered.flac # You provide
|
| 122 |
-
└── timer_finished.flac # You provide
|
| 123 |
-
```
|
| 124 |
-
|
| 125 |
-
## Troubleshooting
|
| 126 |
-
|
| 127 |
-
### Wake Word Not Detected
|
| 128 |
-
|
| 129 |
-
1. Check that the `.tflite` file exists
|
| 130 |
-
2. Verify the `.json` configuration is correct
|
| 131 |
-
3. Try a different wake word
|
| 132 |
-
4. Check microphone input volume
|
| 133 |
-
|
| 134 |
-
### Sound Not Playing
|
| 135 |
-
|
| 136 |
-
1. Verify the sound file exists and is not empty
|
| 137 |
-
2. Check audio output device is configured
|
| 138 |
-
3. Try playing the file manually: `aplay sounds/wake_word_triggered.flac`
|
| 139 |
-
|
| 140 |
-
### Model Loading Errors
|
| 141 |
-
|
| 142 |
-
1. Ensure the model is compatible with your architecture
|
| 143 |
-
2. Check that TensorFlow Lite is installed correctly
|
| 144 |
-
3. Verify the model file is not corrupted
|
| 145 |
-
|
| 146 |
-
## Additional Resources
|
| 147 |
-
|
| 148 |
-
- [microWakeWord GitHub](https://github.com/kahrendt/microWakeWord)
|
| 149 |
-
- [openWakeWord GitHub](https://github.com/dscripka/openWakeWord)
|
| 150 |
-
- [Home Assistant Wake Words Collection](https://github.com/fwartner/home-assistant-wakewords-collection)
|
| 151 |
-
- [ESPHome Voice Assistant](https://esphome.io/components/voice_assistant.html)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README_HF_SPACES.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
| 1 |
-
# Reachy Mini Home Assistant Voice Assistant - Hugging Face Spaces
|
| 2 |
-
|
| 3 |
-
这是一个可以通过 Hugging Face Spaces 一键安装的 Reachy Mini 语音助手应用,用于连接 Home Assistant。
|
| 4 |
-
|
| 5 |
-
## 🚀 通过 Hugging Face Spaces 安装
|
| 6 |
-
|
| 7 |
-
1. 访问你的 Reachy Mini 仪表板
|
| 8 |
-
2. 进入 "Applications" -> "Install from Hugging Face"
|
| 9 |
-
3. 搜索 "reachy-mini-ha-voice"
|
| 10 |
-
4. 点击 "Install" 按钮
|
| 11 |
-
5. 等待安装完成
|
| 12 |
-
|
| 13 |
-
安装完成后,应用程序将出现在 "Applications" 列表中。
|
| 14 |
-
|
| 15 |
-
## ⚙️ 配置
|
| 16 |
-
|
| 17 |
-
安装后,点击应用设置图标进行配置:
|
| 18 |
-
|
| 19 |
-
- **Device Name**: 设备名称(默认: ReachyMini)
|
| 20 |
-
- **Enable Reachy**: 启用 Reachy Mini 机器人集成(默认: true)
|
| 21 |
-
- **Audio Input Device**: 音频输入设备索引
|
| 22 |
-
- **Audio Output Device**: 音频输出设备索引
|
| 23 |
-
- **Wake Word**: 唤醒词(默认: okay_nabu)
|
| 24 |
-
|
| 25 |
-
## 🔌 连接到 Home Assistant
|
| 26 |
-
|
| 27 |
-
1. 在 Home Assistant 中,进入 "设置" -> "设备与服务"
|
| 28 |
-
2. 点击 "添加集成" 按钮
|
| 29 |
-
3. 选择 "ESPHome" 然后选择 "设置另一个 ESPHome 实例"
|
| 30 |
-
4. 输入 Reachy Mini 的 IP 地址和端口 6053
|
| 31 |
-
5. 点击 "提交"
|
| 32 |
-
|
| 33 |
-
## 📝 使用说明
|
| 34 |
-
|
| 35 |
-
### 启动应用
|
| 36 |
-
|
| 37 |
-
在 Reachy Mini 仪表板中:
|
| 38 |
-
1. 找到 "reachy-mini-ha-voice" 应用
|
| 39 |
-
2. 点击 "Run" 按钮启动
|
| 40 |
-
3. 应用将在端口 6053 上运行
|
| 41 |
-
|
| 42 |
-
### 唤醒词
|
| 43 |
-
|
| 44 |
-
默认唤醒词是 "Okay Nabu"。你可以说:
|
| 45 |
-
- "Okay Nabu, turn on the lights"
|
| 46 |
-
- "Okay Nabu, what's the weather?"
|
| 47 |
-
- "Okay Nabu, set a timer for 5 minutes"
|
| 48 |
-
|
| 49 |
-
### Reachy Mini 动作
|
| 50 |
-
|
| 51 |
-
当启用 Reachy Mini 集成时,机器人会对不同的语音状态做出反应:
|
| 52 |
-
- **唤醒时**: 头部抬起
|
| 53 |
-
- **监听中**: 头部轻微摆动
|
| 54 |
-
- **响应中**: 点头
|
| 55 |
-
- **停止时**: 摇头
|
| 56 |
-
|
| 57 |
-
## 🔧 故障排除
|
| 58 |
-
|
| 59 |
-
### 音频设备问题
|
| 60 |
-
|
| 61 |
-
如果无法检测到音频设备:
|
| 62 |
-
|
| 63 |
-
1. 在 Reachy Mini 终端中运行:
|
| 64 |
-
```bash
|
| 65 |
-
python -m reachy_mini_ha_voice --list-input-devices
|
| 66 |
-
python -m reachy_mini_ha_voice --list-output-devices
|
| 67 |
-
```
|
| 68 |
-
|
| 69 |
-
2. 在应用配置中设置正确的设备索引
|
| 70 |
-
|
| 71 |
-
### 连接问题
|
| 72 |
-
|
| 73 |
-
如果无法连接到 Home Assistant:
|
| 74 |
-
|
| 75 |
-
1. 检查 Reachy Mini 和 Home Assistant 是否在同一网络
|
| 76 |
-
2. 确认端口 6053 未被防火墙阻止
|
| 77 |
-
3. 查看 Home Assistant 日志中的连接错误
|
| 78 |
-
|
| 79 |
-
### 调试模式
|
| 80 |
-
|
| 81 |
-
启用调试日志:
|
| 82 |
-
|
| 83 |
-
在应用配置中添加环境变量:
|
| 84 |
-
```
|
| 85 |
-
DEBUG=true
|
| 86 |
-
```
|
| 87 |
-
|
| 88 |
-
## 📚 更多信息
|
| 89 |
-
|
| 90 |
-
完整文档请访问: [README.md](README.md)
|
| 91 |
-
|
| 92 |
-
## 🤝 贡献
|
| 93 |
-
|
| 94 |
-
欢迎提交 Issue 和 Pull Request!
|
| 95 |
-
|
| 96 |
-
## 📄 许可证
|
| 97 |
-
|
| 98 |
-
Apache License 2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.yaml
DELETED
|
@@ -1,67 +0,0 @@
|
|
| 1 |
-
# Reachy Mini App Configuration
|
| 2 |
-
# This file is used by the Reachy Mini app assistant
|
| 3 |
-
|
| 4 |
-
name: reachy-mini-ha-voice
|
| 5 |
-
version: 1.0.0
|
| 6 |
-
description: Home Assistant Voice Assistant for Reachy Mini using ESPHome protocol
|
| 7 |
-
author: Reachy Mini HA Voice Contributors
|
| 8 |
-
license: Apache-2.0
|
| 9 |
-
|
| 10 |
-
# App type: python, javascript, or web
|
| 11 |
-
type: python
|
| 12 |
-
|
| 13 |
-
# Main entry point
|
| 14 |
-
entry_point: reachy_mini_ha_voice.__main__:main
|
| 15 |
-
|
| 16 |
-
# Dependencies
|
| 17 |
-
dependencies:
|
| 18 |
-
- aioesphomeapi==42.7.0
|
| 19 |
-
- numpy>=2,<3
|
| 20 |
-
- pymicro-wakeword>=2,<3
|
| 21 |
-
- pyopen-wakeword>=1,<2
|
| 22 |
-
- pyaudio>=0.2.11
|
| 23 |
-
- zeroconf<1
|
| 24 |
-
|
| 25 |
-
# Optional dependencies for Reachy Mini integration
|
| 26 |
-
optional_dependencies:
|
| 27 |
-
- reachy-sdk
|
| 28 |
-
|
| 29 |
-
# System requirements
|
| 30 |
-
system_requirements:
|
| 31 |
-
- portaudio19-dev
|
| 32 |
-
- build-essential
|
| 33 |
-
- libportaudio2
|
| 34 |
-
|
| 35 |
-
# Configuration options
|
| 36 |
-
config:
|
| 37 |
-
- name: device_name
|
| 38 |
-
type: string
|
| 39 |
-
default: "ReachyMini"
|
| 40 |
-
description: "Device name for Home Assistant"
|
| 41 |
-
- name: enable_reachy
|
| 42 |
-
type: boolean
|
| 43 |
-
default: true
|
| 44 |
-
description: "Enable Reachy Mini robot integration"
|
| 45 |
-
- name: audio_input_device
|
| 46 |
-
type: integer
|
| 47 |
-
default: null
|
| 48 |
-
description: "Audio input device index"
|
| 49 |
-
- name: audio_output_device
|
| 50 |
-
type: integer
|
| 51 |
-
default: null
|
| 52 |
-
description: "Audio output device index"
|
| 53 |
-
- name: wake_word
|
| 54 |
-
type: string
|
| 55 |
-
default: "okay_nabu"
|
| 56 |
-
description: "Wake word to use"
|
| 57 |
-
|
| 58 |
-
# Ports exposed by the app
|
| 59 |
-
ports:
|
| 60 |
-
- 6053
|
| 61 |
-
|
| 62 |
-
# Tags for categorization
|
| 63 |
-
tags:
|
| 64 |
-
- voice
|
| 65 |
-
- home-assistant
|
| 66 |
-
- esphome
|
| 67 |
-
- assistant
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
index.html
DELETED
|
@@ -1,79 +0,0 @@
|
|
| 1 |
-
<!DOCTYPE html>
|
| 2 |
-
<html lang="zh-CN">
|
| 3 |
-
<head>
|
| 4 |
-
<meta charset="UTF-8">
|
| 5 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
-
<title>Reachy Mini Home Assistant Voice Assistant</title>
|
| 7 |
-
<style>
|
| 8 |
-
body {
|
| 9 |
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
| 10 |
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
| 11 |
-
min-height: 100vh;
|
| 12 |
-
margin: 0;
|
| 13 |
-
padding: 20px;
|
| 14 |
-
display: flex;
|
| 15 |
-
align-items: center;
|
| 16 |
-
justify-content: center;
|
| 17 |
-
}
|
| 18 |
-
.container {
|
| 19 |
-
background: white;
|
| 20 |
-
border-radius: 20px;
|
| 21 |
-
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
|
| 22 |
-
padding: 40px;
|
| 23 |
-
max-width: 600px;
|
| 24 |
-
text-align: center;
|
| 25 |
-
}
|
| 26 |
-
h1 {
|
| 27 |
-
color: #333;
|
| 28 |
-
margin-bottom: 20px;
|
| 29 |
-
}
|
| 30 |
-
p {
|
| 31 |
-
color: #666;
|
| 32 |
-
line-height: 1.6;
|
| 33 |
-
margin-bottom: 15px;
|
| 34 |
-
}
|
| 35 |
-
.steps {
|
| 36 |
-
text-align: left;
|
| 37 |
-
background: #f5f5f5;
|
| 38 |
-
padding: 20px;
|
| 39 |
-
border-radius: 10px;
|
| 40 |
-
margin: 20px 0;
|
| 41 |
-
}
|
| 42 |
-
.steps ol {
|
| 43 |
-
margin: 0;
|
| 44 |
-
padding-left: 20px;
|
| 45 |
-
}
|
| 46 |
-
.steps li {
|
| 47 |
-
margin-bottom: 10px;
|
| 48 |
-
}
|
| 49 |
-
a {
|
| 50 |
-
color: #667eea;
|
| 51 |
-
text-decoration: none;
|
| 52 |
-
}
|
| 53 |
-
a:hover {
|
| 54 |
-
text-decoration: underline;
|
| 55 |
-
}
|
| 56 |
-
</style>
|
| 57 |
-
</head>
|
| 58 |
-
<body>
|
| 59 |
-
<div class="container">
|
| 60 |
-
<h1>🤖 Reachy Mini Home Assistant Voice Assistant</h1>
|
| 61 |
-
<p>这个应用需要在 Reachy Mini 机器人上运行。</p>
|
| 62 |
-
|
| 63 |
-
<div class="steps">
|
| 64 |
-
<strong>安装步骤:</strong>
|
| 65 |
-
<ol>
|
| 66 |
-
<li>在 Reachy Mini 的应用管理界面</li>
|
| 67 |
-
<li>点击 "Install from Hugging Face"</li>
|
| 68 |
-
<li>搜索并安装 <code>reachy-mini-ha-voice</code></li>
|
| 69 |
-
<li>安装完成后,点击 "Run" 启动应用</li>
|
| 70 |
-
<li>在 Home Assistant 中添加 ESPHome 集成</li>
|
| 71 |
-
</ol>
|
| 72 |
-
</div>
|
| 73 |
-
|
| 74 |
-
<p>应用启动后,ESPHome 语音助手将在端口 6053 上运行,Home Assistant 会自动发现设备。</p>
|
| 75 |
-
|
| 76 |
-
<p><a href="https://huggingface.co/spaces/djhui5710/reachy_mini_ha_voice">查看文档</a></p>
|
| 77 |
-
</div>
|
| 78 |
-
</body>
|
| 79 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requirements.txt
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
aioesphomeapi==42.7.0
|
| 2 |
-
numpy>=2,<3
|
| 3 |
-
pymicro-wakeword>=2,<3
|
| 4 |
-
pyopen-wakeword>=1,<2
|
| 5 |
-
zeroconf<1
|
| 6 |
-
reachy-mini
|
| 7 |
-
scipy
|
| 8 |
-
soundfile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setup.ps1
DELETED
|
@@ -1,34 +0,0 @@
|
|
| 1 |
-
# Setup script for Reachy Mini Home Assistant Voice Assistant (Windows)
|
| 2 |
-
|
| 3 |
-
Write-Host "Setting up Reachy Mini Home Assistant Voice Assistant..." -ForegroundColor Green
|
| 4 |
-
|
| 5 |
-
# Create virtual environment
|
| 6 |
-
if (-not (Test-Path ".venv")) {
|
| 7 |
-
Write-Host "Creating virtual environment..." -ForegroundColor Yellow
|
| 8 |
-
python -m venv .venv
|
| 9 |
-
}
|
| 10 |
-
|
| 11 |
-
# Activate virtual environment
|
| 12 |
-
.venv\Scripts\Activate.ps1
|
| 13 |
-
|
| 14 |
-
# Upgrade pip
|
| 15 |
-
Write-Host "Upgrading pip..." -ForegroundColor Yellow
|
| 16 |
-
pip install --upgrade pip setuptools wheel
|
| 17 |
-
|
| 18 |
-
# Install dependencies
|
| 19 |
-
Write-Host "Installing Python dependencies..." -ForegroundColor Yellow
|
| 20 |
-
pip install -r requirements.txt
|
| 21 |
-
|
| 22 |
-
# Install package
|
| 23 |
-
Write-Host "Installing package..." -ForegroundColor Yellow
|
| 24 |
-
pip install -e .
|
| 25 |
-
|
| 26 |
-
Write-Host ""
|
| 27 |
-
Write-Host "Setup complete!" -ForegroundColor Green
|
| 28 |
-
Write-Host ""
|
| 29 |
-
Write-Host "All wake word models and sound files are already included." -ForegroundColor Cyan
|
| 30 |
-
Write-Host ""
|
| 31 |
-
Write-Host "Run the application:" -ForegroundColor White
|
| 32 |
-
Write-Host " python -m reachy_mini_ha_voice --name 'ReachyMini' --enable-reachy" -ForegroundColor Gray
|
| 33 |
-
Write-Host ""
|
| 34 |
-
Write-Host "For more information, see README.md" -ForegroundColor Gray
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setup.py
DELETED
|
@@ -1,23 +0,0 @@
|
|
| 1 |
-
"""Setup script for Reachy Mini Home Assistant Voice Assistant."""
|
| 2 |
-
|
| 3 |
-
from setuptools import setup, find_packages
|
| 4 |
-
|
| 5 |
-
setup(
|
| 6 |
-
name="reachy-mini-ha-voice",
|
| 7 |
-
version="1.0.0",
|
| 8 |
-
packages=find_packages(),
|
| 9 |
-
install_requires=[
|
| 10 |
-
"aioesphomeapi==42.7.0",
|
| 11 |
-
"numpy>=2,<3",
|
| 12 |
-
"pymicro-wakeword>=2,<3",
|
| 13 |
-
"pyopen-wakeword>=1,<2",
|
| 14 |
-
"pyaudio>=0.2.11",
|
| 15 |
-
"zeroconf<1",
|
| 16 |
-
],
|
| 17 |
-
python_requires=">=3.9",
|
| 18 |
-
entry_points={
|
| 19 |
-
"console_scripts": [
|
| 20 |
-
"reachy-mini-ha-voice=reachy_mini_ha_voice.__main__:main",
|
| 21 |
-
],
|
| 22 |
-
},
|
| 23 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setup.sh
DELETED
|
@@ -1,37 +0,0 @@
|
|
| 1 |
-
#!/bin/bash
|
| 2 |
-
# Setup script for Reachy Mini Home Assistant Voice Assistant
|
| 3 |
-
|
| 4 |
-
set -e
|
| 5 |
-
|
| 6 |
-
echo "Setting up Reachy Mini Home Assistant Voice Assistant..."
|
| 7 |
-
|
| 8 |
-
# Create virtual environment
|
| 9 |
-
if [ ! -d ".venv" ]; then
|
| 10 |
-
echo "Creating virtual environment..."
|
| 11 |
-
python3 -m venv .venv
|
| 12 |
-
fi
|
| 13 |
-
|
| 14 |
-
# Activate virtual environment
|
| 15 |
-
source .venv/bin/activate
|
| 16 |
-
|
| 17 |
-
# Upgrade pip
|
| 18 |
-
echo "Upgrading pip..."
|
| 19 |
-
pip install --upgrade pip setuptools wheel
|
| 20 |
-
|
| 21 |
-
# Install dependencies
|
| 22 |
-
echo "Installing Python dependencies..."
|
| 23 |
-
pip install -r requirements.txt
|
| 24 |
-
|
| 25 |
-
# Install package
|
| 26 |
-
echo "Installing package..."
|
| 27 |
-
pip install -e .
|
| 28 |
-
|
| 29 |
-
echo ""
|
| 30 |
-
echo "Setup complete!"
|
| 31 |
-
echo ""
|
| 32 |
-
echo "All wake word models and sound files are already included."
|
| 33 |
-
echo ""
|
| 34 |
-
echo "Run the application:"
|
| 35 |
-
echo " python -m reachy_mini_ha_voice --name 'ReachyMini' --enable-reachy"
|
| 36 |
-
echo ""
|
| 37 |
-
echo "For more information, see README.md"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|