After reading that you are dealing with respeaker hats without having one on your own, I took a look at it. First off, the rhasspy tutorial on that is not the best place to send ppl because right now it has you get the drivers from the official github with is almost never up to date because the devs do next to nothing to update for newer kernels. There is a guy that tries to keep everything current here that the devs merge into their repro from time to time which is more current. For now he supports any kernel from 5.9 to 5.11 with the v5.9 branch, and it seems 5.12 broke something again so there is a separate branch for that. Any problems, even with that branch, can be directed to the official github since hintak is the one providing almost all active support there anyway. Right now the official repro seems to be up to date, but I am pretty sure that it will not be after a few kernel updates.
I would advise linking both the official and the hintak repro and advising ppl to use the official repro as long as they use RaspiOS and the pi ppl haven’t gotten to kernel 5.12. Running debian on the pi or any other distro, I would advise HinTak. I haven’t tested 64bit compatability with either repro, but I know HinTak actually uses 64bit debian so hopefully it works on RaspiOS, too.
The next thing is, using those drivers you should have support for the 2-mic hat, the 4-mic square hat, the 4-mic linear hat and the 6-mic hat and it seems they added a new 4-mic square hat from the pictures on the readme. This also means that setting the mic to plughw:CARD=seeed2micvoicec,DEV=0
is a bad idea, since that only works for the 2-mic hat. You should instead advice to set it to the device that has seeed in the name because all of them should have that in common.
Also put a warning somewhere that every kernel update can break respeaker drivers, either because the kernel got to new or because you need to switch the repro fork to a newer version for any mic that isn’t the 2-mic hat. For best user experience I would suggest you ask users to exclude kernel updates in their package manager once they have the mic working if they don’t know how to or don’t want to manually check if the newer kernel version is supported yet. Actually, suggest they do so anyway and only undo this if they want to upgrade the kernel and have either checked if their branch is still compatible or they uninstalled it before the upgrade to install the new branch. Otherwise you will get quite a few linux beginners that did a system update and suddenly the mic broke.
The next thing I would recommend is adding a small tutorial on how to use alsamixer to adjust the mic gain and level and how to save that so the driver won’t override after reboot. The default settings for this are pretty bad in most cases and make using the mic for rhasspy hard. Gerneral advice is turn the volume up to something between 70 and 87 and the gain to 50-80, depending on how far away you plan to use the mic from. They unhelpfully removed this and the command for saving the config from their readme a while back, but I don’t see any commit that fixes this or saves automatically. The command to save is sudo alsactl --file=/etc/voicecard/ac108_asound.state store
for the 4-mic square and line as well as the 6-mic, the 2-mic differs and uses sudo alsactl --file=/etc/voicecard/wm8960_asound.state store
. Which file to save in depends on the chip used on the mic array, so if they ever add something with a different chip, this is where one needs to look.
Respeaker mics normally come with inbuilt leds, so it would be a good thing to either integrate hermes-led-control into your project or at least linking to it so ppl with respeaker hats can use their leds also.
And with this writeup I think you understand why the general advice in this forum is don’t get a respeaker that isn’t a 2-mic, because you get less work and at least the same quality with literally everything else. I personally still use respeaker 4-mic-square (or more correct, a clone of it) but I had quite a few headaches with it over the 2 or so years I used this. They do their job and the inbuild leds are nice to have but the official support is less than optimal and if you can get anything that is supported by the kernel without extra drivers you are far better off.