ReSpeaker 4-Mic Linear Array

Hello,

my team would like to create a smart intercom using raspberry.

I wanted to ask you if the product ReSpeaker 4-Mic Linear Array can:

  1. be used with alsa drivers, as a default device
  2. has already integrated the echo cancellation
  3. the “JST 2.0 speaker jack” output is amplified
  4. Which speaker is more correct to use in the output “JST 2.0 speaker jack”, an 8 Ohm or a 50 Ohm?

Hi there



please see below replies.


  1. be used with alsa drivers, as a default device: Yes


  2. has already integrated the echo cancellation: there are 2 playback channels, one is from jst2.0 and other is from 3.5mm audio port. you can refer to https://github.com/voice-engine/ec for AEC.


  3. the “JST 2.0 speaker jack” output is amplified: yes, the amplifer is tpa6205a, you can refer to datasheet. http://www.ti.com/lit/ds/symlink/tpa6205a1.pdf


  4. Which speaker is more correct to use in the output “JST 2.0 speaker jack”, an 8 Ohm or a 50 Ohm? 8ohm.



    thanks.

Hello,

I installed a ReSpeaker 4-Mic Linear Array on top of a Raspberry pi zero



I followed these installation steps

</s><i> </i>sudo apt-get update sudo apt-get upgrade git clone https://github.com/respeaker/seeed-voicecard.git cd seeed-voicecard sudo ./install.sh sudo reboot <e>

Now i have
</s>root@raspberrypi:~# arecord -L null Discard all samples (playback) or generate zero samples (capture) jack JACK Audio Connection Kit pulse PulseAudio Sound Server default ac108 dmixer ac101 usbstream:CARD=ALSA bcm2835 ALSA USB Stream Output sysdefault:CARD=seeed8micvoicec seeed-8mic-voicecard, Default Audio Device dmix:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct sample mixing device dsnoop:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct sample snooping device hw:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct hardware device without any conversions plughw:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Hardware device with all software conversions usbstream:CARD=seeed8micvoicec seeed-8mic-voicecard USB Stream Output <e>

</s>root@raspberrypi:~# aplay -L null Discard all samples (playback) or generate zero samples (capture) jack JACK Audio Connection Kit pulse PulseAudio Sound Server default ac108 dmixer ac101 sysdefault:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device dmix:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample mixing device dmix:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample mixing device dsnoop:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample snooping device dsnoop:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample snooping device hw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct hardware device without any conversions hw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct hardware device without any conversions plughw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Hardware device with all software conversions plughw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Hardware device with all software conversions usbstream:CARD=ALSA bcm2835 ALSA USB Stream Output sysdefault:CARD=seeed8micvoicec seeed-8mic-voicecard, Default Audio Device dmix:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct sample mixing device dsnoop:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct sample snooping device hw:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Direct hardware device without any conversions plughw:CARD=seeed8micvoicec,DEV=0 seeed-8mic-voicecard, Hardware device with all software conversions usbstream:CARD=seeed8micvoicec seeed-8mic-voicecard USB Stream Output <e>

In my application i can set the device to use:
</s>SND_CAPTURE='ALSA: USB PnP Sound Device' SND_PLAYBACK='ALSA: USB PnP Sound Device' <e>

What should I write to make my application use the ReSpeaker? ALSA: ???

Ok, work with
</s><i> </i>SND_CAPTURE='ALSA: default device' SND_PLAYBACK='ALSA: default device' <e>
I am using the jst2.0 with speaker as output



Now the next step,

activate the EC

i follow this guide

</s><i> </i>sudo apt-get -y install libasound2-dev libspeexdsp-dev git clone https://github.com/voice-engine/ec.git cd ec make<e>

if i execute
</s><i> </i>./ec_hw -i plughw:1 -c 8 -l 7 -m 0,1,2,3 <e>

i get

</s><i> </i>warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now. warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now. warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now. warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now. warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now. <e>

  1. seems, that ./ec_hw -i plughw:1 -c 8 -l 7 -m 0,1,2,3 is not the correct command, what is the correct command for the 4 mic linear array?
  2. ec_hw is to be started manually every time?
  3. how can I make that the default capture device ( ALSA ) use the EC (ec_hw)?

isn’t there any support to help me?

I am the same and presume that is for the USB and 6 mic as ./ec_hw -i plughw:1 -c 8 -l 7 -m 0,1,2,3 doesn’t work.
I can get software ./ec to work as best it can but scratching my head as this does say…

The ReSpeaker Linear 4 Mic Array for Raspberry Pi is a Pi hat with 4 microphones, 2 audio output channels and 2 loopback channels. The 2 loopback channels can be used for Acoustic Echo Cancellation (AEC). It has two parts, the main part and the linear mic array part.

There seems to be no info on the 2 loopback channels and further down the page it gets more confusing.

FAQ
Q1: There are only 4 Mic in the Mic Array, how could it be 8 channels?

A1: There are 2 AC108 in this array, and each AC108 chip has 4 channel output. So it comes a total of 8 channels here, 4 of which are for the microphone, two channels for the playback and the the rest 2 channels are not used.

Which is the oppisite of what it says at the top of the page ?!