Hello, I was recently given a Raspberry Pi project to improve. It currently uses a USB Blue brand Snowball microphone for input and the 3.5mm jack for output. The project plays music, which of course makes the speech detection more difficult.
I have seen the EC project (link) and a few forks. I have tried using them but with no success. Should EC be able to work with a USB microphone input and 3.5mm jack output, or do I need to look elsewhere? I know that the EC readme advises against using the Raspberry Pis audio jack. If it is possible I’ll keep working at it, but I’d like to know if I’m wasting my time.
I’d appreciate any advice or help on this topic.
Right from first RasPi days, the sound from 3.5mm jack is poor quality … hence all the stereo audio HATs on the market.
I note the ec project is tested with reSpeaker microphone HATs, and warns about using the 3.5mm audio jack. Curiously they don’t mention what audio out hardware they have tested with - probably because many of the multi-mic HATs also have audio out, and that is what they are using ?
I am left wondering why you are asking about hardware used by the ec project in Rhasspy forum ?
Whatever you use with SpeexDSP (EC) you need to use the same device so that I/O is synced by the same hardware clock as the alg works that way.
So any USB soundcard or hat that has audio in/out.
I am asking in the Rhasspy forum because Rhasspy is the software being used on this particular RPi.
My part of the project is mainly to improve the wake-word activation and speech recognition. I was wanting to get some input from people as to whether or not our current hardware setup would be usable for this.
Thank you rolyan_trauts for confirming what I had suspected. Now I’m off to find a decent USB sound card.
I’m curious to know which one you will finally choose. Currently I use myself a respeaker 2 module with a speaker connected to its output. It works satisfactory, but it could of course always be better.
My own personal take is either https://uk.farnell.com/seeed-studio/107100001/expansion-board-raspberry-pi/dp/3932105.
Strangely though because its a hat unless your Pi is vertical you lose the rear rejection the pcb’s will give and it will act more like a conference Mic.
With Pi stock I sort of prefer USB as there are some great low cost alternatives that doen’t exactly match Pi GPIO whilst USB works on any.
Loads of single channel avail but this is the only 2 channel I know Plugable USB Audio Adapter – Plugable Technologies. Its good quality but lacks AGC.
As for mics these are pretty easy to mount and the analogue AGC is pretty mighty.
MAX9814 Electret Microphone Amplifier Board Module AGC Auto Gain For Arduino AM | eBay
I hacked a delay-sum beamformer in C that works ok GitHub - StuartIanNaylor/2ch_delay_sum: 2 channel delay sum beamformer but really was always looking for BSS (Blind Source Seperation) than AEC & Beamformer.
Really it all needs to be engineered as a system and not this mix&match bring your own to the party affair.
Also alsa-plugins does have speex-agc but debian is still out of step with alsa so you need to get the final version of speex and speex-dsp and recompile alsa-plugins otherwise its missing.
I have a rough guide for installing somewhere on the forum.
Level matching your input is really important and been meaning to hack the speex-agc to have a max-level as currently it only has a rate and its gain ramps up far to high into the noisefloor.
Just never got round to it.