Microphone array?


is there anybody to know a microphone array to work with Mycroft/Pi or Mk1 ?

I’m obviously referring to a useful mic array, i.e. one to include HW processing support for echo cancellation and eventually beamforming.
Mycroft will never be able to compete with Alexa and Home if you don’t even HAVE any mic array HW to work with a Pi.
I saw developers such as @ryanleesipes respond that they feel this topic to be “of utmost importance”, too. It is.

But now it’s at least 1.5+ years that this topic was raised for the first time, and I still have not seen ANY solution.
The about only thing I found posting about some half-hearted trial with a Matrix Voice board, but there was no success report. I heard about the ReSpeaker and there’s a rather cheap 4 mic version coming up, but no experience reports or install tutorials for Mycroft either on this one.

I can’t believe that there’s still no known mic array solution ?


@mstormi the mark II will have a mic array. As for other mic array options, respeaker has some good mic arrays that you could connect to the pi. https://www.seeedstudio.com/ReSpeaker-4-Mic-Array-for-Raspberry-Pi-p-2941.html


Hello, and thanks. The ReSpeaker 4 mic array is working great! Woo hoo! I used these instructions:

Now I am attempting to get the circle of LEDs on this HAT to work, which will require some degree of hacking. I’d to have theses glow in different ways when I speak to Mycroft, when Mycroft is “thinking,” and when Mycroft is responding. Here is the schematic: https://github.com/SeeedDocument/ReSpeaker-4-Mic-Array-for-Raspberry-Pi/blob/master/src/ReSpeaker%204-Mic%20Array%20for%20Raspberry%20Pi%20%20v1.0.pdf

Any thoughts on this would be appreciated. Thanks again for Mycroft and all of this support.


Had I thought on replacing my VoiceHat with the respeaker hat. Is it good? Any troubles with drivers on picroft?


UPDATED: Problem solved!

In case anyone else runs in to this. The seeed install.sh script will fail with the following on Picroft 0.9.

Building module:
cleaning build area....(bad exit status: 2)
make KERNELRELEASE=3.6-trunk-rpi -C /lib/modules/3.6-trunk-rpi/build M=/var/lib/dkms/seeed-voicecard/0.2/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.6-trunk-rpi (armv7l)
Consult /var/lib/dkms/seeed-voicecard/0.2/build/make.log for more information.
Error! echo
Your kernel headers for kernel 4.4.21+ cannot be found at
/lib/modules/4.4.21+/build or /lib/modules/4.4.21+/source.
Error! echo
Your kernel headers for kernel 4.4.21-v7+ cannot be found at
/lib/modules/4.4.21-v7+/build or /lib/modules/4.4.21-v7+/source.
cp ac108_asound.state /var/lib/alsa/asound.state

This can be fixed by editing the seeed install script install.sh and adding --force-yes to the script at line 27 from:

apt-get -y install raspberrypi-kernel-headers raspberrypi-kernel


apt-get -y --force-yes install raspberrypi-kernel-headers raspberrypi-kernel

This forces the upgrade of necessary packages and allows the driver to build properly.


Ah, great work @Tekchip, thanks for posting the solution!


This is great news - I’m glad I found this topic. There is a good chance I’ll order a couple of these ReSpeakers this weekend… I want to look a little more into how the drivers work first. I’ve ordered my markII’s but I’m feeling a little impatient and want to see if I can get something going myself in the meantime!

For those on this thread who have tried it - how are your results? While it looks like you were successful with the drivers on a picroft image, how are you going with actually using it? Does the driver present 4 separate audio devices that you’re somehow feeding to mycroft? What sort of noise reduction does the ReSpeaker and its drivers provide? Does it do most of the work or do we need to handle this in mycroft?


The respeaker presents as a single device with a single input to picroft(as far as I’m able to tell, I could be wrong). Once the driver was installed and I did a reboot Mycroft just started using it as the default mic. It seems quite sensitive and I’ve had no problem with it hearing me from 4-6 feet away. Unfortunately I only know this because I’ve been monitoring the CLI from my PC. The speaker I ordered to go with it only showed up today. So far I don’t have any real world feedback on performance yet. I should be able to provide that in the next few days once I get this speaker working.

Update: Got the speaker working. Using this speaker http://amzn.to/2Fp56Ps

So far so good. Mycroft hasn’t gotten tripped up even running live streams on my PC speakers at a moderate volume and only 4 feet from the picroft. I’ll report back again later when I’ve given it even more time.


Thanks for the help. With that i could install the 4-mic driver but it still does not work. I don’t see my device when i enter arecord -L after rebooting. If i restart the seeed-voicecard service then the device is listed but not the way it is shown on the respeaker wiki. What i get is:
null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server default Playback/recording through the PulseAudio sound server playback dmixed ac108 multiapps sysdefault:CARD=seeed4micvoicec seeed-4mic-voicecard, Default Audio Device dmix:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample mixing device dsnoop:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample snooping device hw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct hardware device without any conversions plughw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Hardware device with all software conversions

Recording is still not working.

Any tips?


I am having the same issue with the Respeaker microphone. I followed the solution and it looked as if it installed the driver but no capture hardware devices are listed, is there a reason for this?


I can’t get it to work - the respeaker 4mic would seem to be the perfect device for a picroft, I wonder if they will put up a proper guide.
Tried Tekchip’s solution but no luck


respeaker 4 mic hat works out of the box for me, but im not using picroft, just plain debian with a git clone

i simply followed this http://wiki.seeed.cc/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/

on a pi0 i ca’t get the leds to work however, only in a pi 3