"ReSpeaker Lite" - new Seeed Studio Voice Assistant Development Kit hardware combine ESP32 with XMOS XU316 DSP chip for advanced audio processing as a ESPHome-based Home Assistant Assist Satellite voice devkit

1 Like

Can the trigger on_timer_tick: also be deleted? Or is it used for some other actions?

It’s used for sensor as well. Posting time left each 5 seconds.

    - lambda: | 
        int seconds_left = id(first_active_timer).seconds_left;
        if (std::abs(seconds_left) % 5 == 0) {
          id(next_timer).publish_state(seconds_left); 
        }

Sorry, I didn’t say it right. Now can we remove the action from this trigger responsible for running the control_leds script?

Yeah you can do it. Less strain on the chip. :slight_smile:

1 Like

Just finished building my first Koala after waiting a good long while for parts (still missing an LED strip) and it’s working fine. The voice recognition quality really is absolutely marvellous!

One thing I can’t find in the documentation is how I can add my own wakeword? It’s only offering Nabu, Jarvis and Mycroft. This is easier with Wyoming Satellite where it’s just a command line option. I’m guessing here it’ll be hidden in the UI somewhere? Any help appreciated :slight_smile:

1 Like

Unfortunately, for PE-based satellites (like Koala, SAT1 etc) it’s not that easy to add custom wake word, since they’re using Microwakeword (as opposed to Openwakeword in Wyoming, or when streaming wake word is used). There’s instruction on how to make your own wake word for Microwakeword by Kevin (MWW creator), but there’s warning, that wake words, created from synthetic dataset (with TTS-generated samples) work pretty bad. Definitely worse than “Ok Nabu”, which has ~20000 real voice samples, donated by community.
If you want to hassle with it, here’s the link: microWakeWord/notebooks/basic_training_notebook.ipynb at 4b3116a2e5f06c778db01c128372d7e41f90537b · kahrendt/microWakeWord · GitHub

Hi and thank you for the explanation! I’d somehow assumed that if a model was available for openWakeWord, then it’d work with Koala, too. I’d love to try and follow the instructions you posted, but I’m not sure if that’s viable. It seems you need positive and negative training data, but the model I’m interested in (home-assistant-wakewords-collection/en/marvin at main · fwartner/home-assistant-wakewords-collection · GitHub) was apparently trained on positive data only. I guess the negative data would have to be synthetic, and therefore, your warning would apply. Perhaps best to stick to Jarvis for now :confused:

1 Like

Nope, that didn’t work either :smiley: I guess my board is just broken

Yes, unfortunately most probably this is the case…

I have the same ESP32 board which does not have the RGB pad but the LED on my ESP is not working. Or maybe I’m mistaken on how this works. Is the LED supposed to light up when the wake word is spoken and response provided? I followed the Respeaker>ESP connection diagram on your github. Does it matter that I dont have the external LEDs connected as I’m still waiting for them to arrive.

No, ESP LED is just additional entity in config, and is disabled by default in Home Assistant. If you enable it on device page, you will be able to turn it on manually. But it doesn’t work for voice assistant interaction notifications, nor does Respeaker LED (latter is used to indicate DFU update in Koala). So you won’t see anything blinking there by default, if you didn’t solder LED strip.

Thanks for the prompt response. Guess I was mistaken then!

1 Like

I created the setup for daily alarm for my Koala/Respeaker.

It consists of:

  1. Service esphome.[your_device]_set_time_zone. Since ESPHome cannot sync current time zone, it should be set up manually once (it will be preserved upon restarts). The correct format is second column from here: posix_tz_db/zones.csv at fb5fa340cfa7599467358a347e5d6e6724d92bb2 · nayarsystems/posix_tz_db · GitHub
  2. Sensor with current device time (to verify if it’s correct when time zone is set).
  3. Service esphome.[your_device]_set_alarm to set the alarm time in HH:MM format.
  4. Sensor with current alarm time.
  5. Switch to activate/deactivate alarm.
  6. Drop-down with alarm action options:
    • Play sound (will play same sound that finished timer does)
    • Send event (will send HA event esphome.alarm_ringing with device ID in data, so user could use it for automations and, say, play music in same room)
    • Both sound and event

Published for Respeaker and Koala. Check alarm instructions here

1 Like

I recently set up a Seeed Respeaker-Lite satellite using the instructions for loading the latest firmware and was able to successfully load it to esphome and integrate into Home Assistant. Everything was working great for a day when this morning it was no longer responding and I noticed these errors in esphome →
[aic3204:116]: Communication with AIC3204 failed
[09:30:17][E][component:082]: Component aic3204.audio_dac is marked FAILED.
I also noticed that HA wasn’t showing the latest firmware installed but was showing “unknown”. I then reconnected the board to my pc and ran the dfu-util -l command and the board isn’t recognized. I tried different usb connections, cables etc but nothing could get it recognized. Trying to determine if the board went bad or if there is a way to recover it somehow. Seems odd as it was working great and then without any intervention with the board it decided to stop working.

Congratulations on an excellent alarm implementation.
It works great, but I would suggest that in the case where users have multiple koala devices, that they customize the event name to the specific koala device that is firing the alarm.
I have added the code to my github for those that want to use the original respeaker without an extra processor.
see: here.

1 Like

Hey! I thought about it, but event already has data->deviceId field, that is identifier of the device that sent it. It’s more convenient, i guess, than using different event names for each device? If you think it’s still worth, i will do that…
Probably i could even add device name to the data. But it’s basically the same as device ID, which is already there.

@photo64 looks like the hardware failure. I actually heard this not that far ago (and before that - never). Could it be that some batch of devices is doomed?..

Had a feeling that it was a board failure. I was connecting with Seeed yesterday but unfortunately they wouldn’t refund me because I don’t have a crypto wallet and even though I purchased it through paypal they scolded me and wouldn’t refund me through paypal nor would they just send me a replacement board. Very poor customer service on their part.

Oh damn, i didn’t know they’re like this… Too bad…