reachy_mini_home_assistant / README_ASSETS.md
Desmond-Dong's picture
Initial commit: Reachy Mini Home Assistant Voice Assistant
b746881
|
raw
history blame
4.65 kB
# Assets Setup Guide
This document explains how to set up the required assets (wake word models and sound files).
## Included Assets
All required wake word models and sound files are already included in the repository:
### Wake Word Models (microWakeWord)
- `okay_nabu.tflite` - "Okay Nabu" (default)
- `stop.tflite` - "Stop"
- `alexa.tflite` - "Alexa"
- `hey_jarvis.tflite` - "Hey Jarvis"
- `hey_home_assistant.tflite` - "Hey Home Assistant"
- `hey_luna.tflite` - "Hey Luna"
- `hey_mycroft.tflite` - "Hey Mycroft"
- `okay_computer.tflite` - "Okay Computer"
- `choo_choo_homie.tflite` - "Choo Choo Homie"
### Wake Word Models (openWakeWord)
Located in `wakewords/openWakeWord/`:
- `alexa_v0.1.tflite` - Alexa
- `hey_jarvis_v0.1.tflite` - Hey Jarvis
- `hey_mycroft_v0.1.tflite` - Hey Mycroft
- `hey_rhasspy_v0.1.tflite` - Hey Rhasspy
- `ok_nabu_v0.1.tflite` - Okay Nabu
### Sound Files
- `wake_word_triggered.flac` - Played when wake word is detected
- `timer_finished.flac` - Played when timer finishes
## Wake Word Models
The application uses two wake word engines:
- **microWakeWord**: Lightweight, good for embedded systems
- **openWakeWord**: More accurate, uses more resources
### Adding Custom Wake Words
#### microWakeWord Models
1. Download a model from [microWakeWord releases](https://github.com/kahrendt/microWakeWord/releases)
2. Place the `.tflite` file in the `wakewords/` directory
3. Create a corresponding `.json` file:
```json
{
"type": "microWakeWord",
"wake_word": "Your Wake Word",
"trained_languages": ["en"]
}
```
#### openWakeWord Models
1. Download a model from [home-assistant-wakewords-collection](https://github.com/fwartner/home-assistant-wakewords-collection)
2. Place the `.tflite` file in the `wakewords/` directory
3. Create a corresponding `.json` file:
```json
{
"type": "openWakeWord",
"wake_word": "Your Wake Word",
"model": "your_wake_word.tflite",
"trained_languages": ["en"]
}
```
### Popular Wake Words
Here are some popular wake words you can add:
- **Hey Jarvis**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/hey_jarvis/hey_jarvis.tflite)
- **Alexa**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/alexa/alexa.tflite)
- **Hey Google**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/hey_google/hey_google.tflite)
- **GLaDOS**: [Download](https://github.com/fwartner/home-assistant-wakewords-collection/raw/main/en/glados/glados.tflite)
## Sound Files
The application uses sound files for feedback:
### Included Files
1. **wake_word_triggered.flac** - Played when wake word is detected
2. **timer_finished.flac** - Played when timer finishes
### Customizing Sound Files
You can replace these files with your own:
1. Keep them short (1-2 seconds)
2. Use FLAC or WAV format
3. Sample rate: 16kHz or 44.1kHz
4. Mono or stereo
### Example Using Online Tools
1. Go to [TTSMP3](https://ttsmp3.com/)
2. Enter text like "I'm listening" or "Timer finished"
3. Generate and download as MP3
4. Convert to FLAC using [Online Audio Converter](https://online-audio-converter.com/)
5. Replace the file in `sounds/` directory
## Directory Structure
After setup, your directory should look like:
```
reachy_mini_ha_voice/
β”œβ”€β”€ wakewords/
β”‚ β”œβ”€β”€ okay_nabu.json
β”‚ β”œβ”€β”€ okay_nabu.tflite # Downloaded
β”‚ β”œβ”€β”€ stop.json
β”‚ β”œβ”€β”€ stop.tflite # Downloaded
β”‚ β”œβ”€β”€ hey_jarvis.json # Optional
β”‚ └── hey_jarvis.tflite # Optional
└── sounds/
β”œβ”€β”€ wake_word_triggered.flac # You provide
└── timer_finished.flac # You provide
```
## Troubleshooting
### Wake Word Not Detected
1. Check that the `.tflite` file exists
2. Verify the `.json` configuration is correct
3. Try a different wake word
4. Check microphone input volume
### Sound Not Playing
1. Verify the sound file exists and is not empty
2. Check audio output device is configured
3. Try playing the file manually: `aplay sounds/wake_word_triggered.flac`
### Model Loading Errors
1. Ensure the model is compatible with your architecture
2. Check that TensorFlow Lite is installed correctly
3. Verify the model file is not corrupted
## Additional Resources
- [microWakeWord GitHub](https://github.com/kahrendt/microWakeWord)
- [openWakeWord GitHub](https://github.com/dscripka/openWakeWord)
- [Home Assistant Wake Words Collection](https://github.com/fwartner/home-assistant-wakewords-collection)
- [ESPHome Voice Assistant](https://esphome.io/components/voice_assistant.html)