Desmond-Dong commited on
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

Files changed (10) hide show
  1. Dockerfile +0 -17
  2. README.md +5 -4
  3. README_ASSETS.md +0 -151
  4. README_HF_SPACES.md +0 -98
  5. app.yaml +0 -67
  6. index.html +0 -79
  7. requirements.txt +0 -8
  8. setup.ps1 +0 -34
  9. setup.py +0 -23
  10. 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: docker
7
- sdk_version: "1.0.0"
8
- app_file: app.py
9
  pinned: false
10
- license: apache-2.0
 
 
 
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"