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
  2. Place the .tflite file in the wakewords/ directory
  3. Create a corresponding .json file:
{
  "type": "microWakeWord",
  "wake_word": "Your Wake Word",
  "trained_languages": ["en"]
}

openWakeWord Models

  1. Download a model from home-assistant-wakewords-collection
  2. Place the .tflite file in the wakewords/ directory
  3. Create a corresponding .json file:
{
  "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:

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
  2. Enter text like "I'm listening" or "Timer finished"
  3. Generate and download as MP3
  4. Convert to FLAC using Online Audio Converter
  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