ReSpeaker Mic Array v2.0 USB and Hassio

I saw a couple of threads from not too long ago regarding similar issues – I essentially can’t get the ReSpeaker v2.0 Mic Array to be shown as an input device for any add-ons (e.g. Hey Ada). Is anyone else using Hassio on a RPi4 with the same mic?

If it’s recognized by the base OS, it should appear in the alsa play and record commands:

aplay -l
arecord -l

Alternately, you could search the dmesg kernel logs as the root user:

sudo su -
dmesg | grep -i ReSpeaker

See that’s what I thought, but I didn’t even see alsa-utils installed initially. And after adding that:

core-ssh:~# aplay -l
aplay: device_list:272: no soundcards found...
core-ssh:~# sudo dmesg | grep -i ReSpeaker
core-ssh:~# 

as the prompt – it appears you’re using the SSH add-in to Hass.io, and there are no sound cards configured inside the docker container. That’s typically normal.

What is the host operating system? HassOS, Haspbian or some other Linux?
Can you use the PuTTY program to login to the host operating system?

That makes sense. I do have the host SSH set up, but that’s buildroot (Hass OS). It doesn’t seem that there’s a package manager on it at all.

Darn it. :frowning:

I don’t grok Hass OS or Haspbian, either.

It’s great from a security perspective – way less attack surface with the host being stripped down as much as possible to just act as a hypervisor for the containers. I feel like I might have to rebuild the OS just to add alsa-utils though…

I’ll give it a little more time in case someone else has been down this road given how popular HassOS/hass.io seems to be :slight_smile:

1 Like

Hey!
This is how I got my Respeaker to work running HassOS…

Big Caveat: I am very inexperienced and I hope someone can jump in and correct me where I am wrong

I created a custom add-on which was a duplicate of the Rhasspy add-on. In my custom add-on I added this to the dockerfile (I assume you could do something similar with any addon):

FROM synesthesiam/rhasspy-server:latest
LABEL maintainer="Michael Hansen <[email protected]>"
ENV LANG C.UTF-8

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
      git \
      alsa-utils \
      dkms \
      i2c-tools \
      libasound2-plugins \
    && git clone "https://github.com/respeaker/seeed-voicecard" \
    && cd seeed-voicecard \
    && chmod a+x ./install.sh \
    && rm -rf .git \
    && apt-get purge -y --auto-remove git

# Copy script to run
COPY docker/run.sh /run.sh
RUN chmod a+x /run.sh

ENV CONFIG_PATH /data/options.json

ENTRYPOINT ["/run.sh"]

I think the packages are redundant (they are also installed in the seeed studio install script), but this is the file that worked for me.

Again, I am super inexperienced so I’m hoping someone will chime in and correct me, but this is how I got it to work!

Take care.

Hi @smweil So did you build a dockerfile a run.sh file and a config.json file?

Can you please explain in more detail how you managed to get this working. I an thinking about buying respeaker but worried its pointless now so this one answer sounds really good IF can get it to work.

Any updates? I can see the mic and speaker inside home assistant gui and can assign them but they don’t seem to work. on the other hand the aplay -l and arecord -l commands don’t show anything.

I am running HA inside a VM, installed via the image provided.