Add drivers for ReSpeaker mic arrays (seeed-voicecard)

Tags: #<Tag:0x00007f325d601490>

I tried connecting a ReSpeaker Mic Array v2.0 USB microphone (seems like a great candidate for STT and voice control) to my Raspberry Pi4 4GB, and noticed that the device did not appear in the kernel logs at all. I’m guessing that’s because these drivers would need to be included in the hassos buildroot build: https://github.com/respeaker/seeed-voicecard.

I may try to figure out how to rebuild hassos myself to include these drivers, but the ReSpeaker series of mics seem popular enough that others might benefit from adding support for them in the base OS so they’d be usable in HA via Almond/Ada etc.

ps. I have a separate thread in case I am just making a mistake somewhere and someone is already using a ReSpeaker mic with Hassio successfully: ReSpeaker Mic Array v2.0 USB and Hassio

I would love to see the drivers added as well. I have a Respeaker 4.
Maybe it could be added as an add-on?

Not sure that this would work as an add-on unless the drivers were also still installed on the host, but I’d have to read up a bit more on add-on development to be sure.

Looking since ages for a driver included in hassio, having a respeaker lying around too!

Hey!
This is how I got my Respeaker to work with Rhasspy running HassOS, maybe it will provide some insight?

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:

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

I was trying to create a custom addon, I created a dockerfile, config.json and run.sh (this one in a folder called docker). However, I cannot start the addon. The following error is thrown:

[FATAL tini (6)] exec /run.sh failed: No such file or directory

Here is my config.json

{
  "name": "customrhasspy",
  "version": "1",
  "slug": "custom_rhasspy",
  "description": "My first real add-on!",
  "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"],
  "startup": "before",
  "boot": "auto",
  "options": {},
  "schema": {}
}

However, I am still unable to see the respeaker device in Rhasspy (I still see pulse(0) and default(1)*
Do you have any ideas? Do you have any special run.sh?

Thanks in advance!