Respeaker as simple noise filter?

Although the sales pages list some 5 different potential applications for Respeakers, there seems to be only complete software solutions for Alexa devices. A wider range of complete code examples, perhaps by sponsoring online tech. magazines could increase your sales.



I have helping a company evaluate devices to replace the existing analog intercom system used in thousands of retail kiosks, in order to improve outdoor ambient noise elimination. (The would be a variation of your sales page Application Idea “Voice conferencing system”)



Any comments on the approach being considered would be appreciated:





We are looking into using the Raspberry Pi 4-Mic Linear Array Kit for initial demonstration purposes, and a modified ReSpeaker Mic Array v2.0 as the volume production solution.



One hardware challenge is a mono Analog input for echo elimination to provide a full duplex intercom:



I could not locate schematics for the 4/6 mic (AC108) board, are inputs 7 & 8 connected to the AC101 output ?

We may need to cut a trace to directly connect an input to the existing syetem’s speaker out signal in our prototype?





The ReSpeaker Mic Array v2.0 using the Xmos chip appears to make a more reliable black box component than a Linux based board, with faster startup and tolerance to power failures (said to randomly damage SD cards) custom code and a board design would be needed from Seeed.



It would appear that a custom version of the board with an added ADC input chip for the existing system’s speaker out signal. Out kiosk application also would function best with a linear mic version of the board sourced through Seedstudio OEM services?.



Actually a Seedstudio priced version of the Xmos XK-VF3000-L33-AVS board would seem suitable. I see they publish complete board design files for their eval boards, although I don’t see any licensing or copyright information for these designs.



Thanks

I’m doing something similar. A SIP capable doorbel intercom system, based upon the Raspberry Pi Zero W and the Respeaker 2 MIC hat.



This would not be my adviced solution. The sound quality of the respeaker 2 mic hat is terrible, dismal. It’s more noise than actual sound.



However, I have managed to get good audio out it. This does take a lot of work, if you’re using a Pi Zero, as the Pi Zero is based on ARM6 and has no NEON support.



In short, what you need is the audio processing part of webrtc. To cross compile webrtc is a b*tch, luckily debian has a more easier to setup excerpt of it, containng just the audio processing:

<LINK_TEXT text=“http://archive.ubuntu.com/ubuntu/pool/m … rig.tar.xz”>http://archive.ubuntu.com/ubuntu/pool/main/w/webrtc-audio-processing/webrtc-audio-processing_0.3.orig.tar.xz</LINK_TEXT>



Combine this with pulseaudio:

<LINK_TEXT text=“https://www.freedesktop.org/software/pu … 2.2.tar.xz”>https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-12.2.tar.xz</LINK_TEXT>



and then enable the module-echo-cancel in pulseaudio, using webrtc’s AEC.



This will basically remove ALL hiss/pops/clicks/noise from the sound AND has the capability of beamforming.



The difference is amazing. From an unusable sound, to clear good usable sound.



Here you can hear the setup without module-echo-cancel or processing:

https://www.youtube.com/watch?v=jjDCAmdmHzM



And here WITH module-echo-cancel:

https://www.youtube.com/watch?v=3Fp06Ts0Kyg



note that any noise you still hear in the 2nd video, comes from recording it with a mobile phone. Also the sound is somewhat oversteered, this has to do with volume settings and is adjustable.



In real life, the difference is shocking.

Basically, the device I built, is the device you want :wink:



It has two-way audio AND 1280p@30fps video, hardware encoded tot h264. (one way, as the remote terminal does not have a display).



Note that the sound you hear on the video, comes from a 1.5$ 1 Watt speaker. It took me some casing and software design to get it up to this level.















Obviously, this is a prototype. Casing I printed on my 3d printer, the stainless front I had lasercut.

Here the actual wave file for both recordings… you can hear the difference better this way:



https://uploadfiles.io/kuvqy



Also good to know: both recordings in same circumstances, but on the unprocessed recording I really speak loudly, on the processed version I spoke pretty soft.