HiFiBerry DAC+ADC or RaspiAudio Mic+V2

Hi All, I have been looking over into this forum for a while to choose hardware for my Rhasspy satellite in Living Room . I am very grateful for the immense knowledge already shared across this forum. Especially huge respect to users like @rolyan_trauts who has shared great deal of knowledge for noobs like me !

I am looking for advice and feedback on below hardware i have chosen based on my satellite requirements.

I needed 192 kHz sampling rate on my Pi 4 - 2 GB as I also intend to use it as WiFi streaming endpoint using Squeezelite and Airplay.

I am basically looking to select one from the below two boards !

Option 1


a. Can I use software AEC as detailed in Software EC with voice-engine / ec to make sure Rhasspy picks up my voice command when music is playing through this sound card at a moderate volume level ?

b. Can I still be able to pickup voice command from 2-3 m distance when there is external noise coming from TV with moderate volume level ! What sort of mic should I choose for this sound card that works even when there is external noise coming from my TV ? Can I use something like Boya microphone ?

c. Or Can I connect two MEMS I2S Mics to It and still ensure Rhasspy picks my voice command in external noise environment like when TV is running ? However it states we can only use dynamic microphones. Condenser microphones that require a phantom power supply are not supported. If MEMS is supported, Could someone please enlighten me how to connect them to this HiFiBerry board ??

Option 2

Raspiaudio Mic + V2

I am absolutely in love with this board as it supports 32 bit / 48 kHz output with 2X 5W speakers, one I2S microphone with high sensitivity !

a. Can I connect one more MEMS I2S Mic to It ( and have it working along with onboard mic ) and still ensure Rhasspy picks my voice command in external noise environment like when TV is running ?

b. Can I access the GPIO pins after stacking this hat as I want to connect an Neopixel Ring and use HermesLedControl !

For Speex AEC you either need a hardware loop back where the audio can be fed back so its recorded as a synced stream or a card that has audio in/out so that its synced by sharing the singular cards clock.
Also the hardware loopback needs to be a ADC type so you can just feed it an audio stream or you are just limited to what its playing, where many loopback a local I2S channel.

Depends how loud you shout :slight_smile: As its not the distance of the noise its the ratio SNR (Sound to Noise Ratio) that KWS really start to struggle above 30% noise.
There is much you can do here but the Pi hat format of an open board in free air, is the absolute worst scenario for directional isolation and optimum performance.
But voice-en EC or at least the asound.conf is set at 16Khz as are many of the hardware solutions, problems that you need hardware loopbacks or audio in/out on a soundcard and to top it off a Pi of some simple DiY enclosure for speaker, with a whole host of other gotcha’s the simplest answer is no.

Then also why do you need 192 kHz sampling rate 16-bit, 44.1kHz is CD 48Khz is pro recording studio… ?
The amp on the Raspiaudio Mic + V2 2x 5watt is toy like for any consumer audio user?

I can say yeah to that, but been wondering of late even any WS2812b RGB string can be controlled with a level shifter as 3.3v is too low, so really any can.

Its actually really complex, no solution is really good and many ramp up into much cost where 3rd party noise is still a big problem.
Its why to simplify things because SNR is a ratio the simplest way is just to have a Mic with no AEC as close to you and as far away from noise.

I am an a self confessed audio snob, but I can put up with 16Khz but not 2x 5Watt speakers as apart from awful sound, the idea of stereo with no stereo seperation to give stereo offends my snob tendancies :slight_smile:

I have had on my ToDo list for a long time as have all the parts gathering dust an audio snob on a budget solution, which really is far away from ‘Audio Snob’ but a very big step up from that 2x 5Watt, you will have to do some Ebay bargain hunting for a pair of 2nd user bookshelf speakers that should cost no more than a approx $25 and an amp of ebay/aliexpress, some as even as cheap as.


If you are interested in a long run wired beamforming mic, in fact I have various configs with a P4/3 wireless mic setup also but all using not the greatest but at least some speakers that can rival and in most cases outperform current Alexa & Google models.
I can giver you a part list and it will give me the impetus to do and document it here also and all the dirivative options, much is just about getting a mic close to you and and a really good pair of great sounding bookshelf (30-75 watt) book shelf or even 5.1.

I prefer Snapcast to Squeezlite as its just a wireless audio virtual cable that you can interface to any ‘Best of’ media player as Squeezelite is LMS with built in wireless virtual cable and I think there is better and for active singular wireless speakers the 3m latency compensation is no where near good enough, but fine from a single room amp.

So if your up for a project that could even be 2.1 and also be your TV audio system that for about $50 I could give you a part list to source and the thread could be the documentation I have been meaning to do for some while.

Hello rolyan , so thanks for writing to me. I am still trying to understand does it mean that I cannot use i2s mics because they are used up for loopback ? I quite understand the hardware loopback requirement but scratching myself to understand how does they affect me to use 2 mems mics with my sound card / dac ?

And yes i didnot mean the RaspiAudio as option 2 but for a small room / kitchen area so 2X 5W still would be adequate for such setup !

Yes I am admittedly becoming audiophile pointlessly insisting on 24 bit / 192 kHz ! But yes even 48 KHz should be very very fine ! However as you mentioned above if I implement voice-en EC, But it sets it to 16Khz then that means I am not even getting 48khz sampling rate then ?

Yup :+1: definitely I would be very very interested in such a setup ! Absolutely let’s please do it ! I am an experienced Linux user as I am into software engineering for more than 2 decades now ! But yes still a noob when it comes to hardware but I hope if you guide me I would be able to try out the interesting setup !!!

Ok start with a wired x2 channel microphone. I have examples but whereever is best and cheapest (aliexpress).

2x Max9814 as they have a silicon AGC so can be part of any prefilter and be the anti-clipping AGC.
They push fit into a grommet so one of the easiest to mount as just drill a hole, but also the grommet will give an element of isolation and a clean finnish.

Running 5vdc for any length is going to create a voltage drop and instead we are going to use the 24vDC from the amp PSU vdrop doesn’t matter as it will be less but we are going to use a buck to get 5v from it.

1.8amp which will be more than enough for the ‘pixel strip’ & max9814 5vd.

The mic is front facing so any linear WS2812b as the enclosure will be a box some are on flex some pcb and number of LED doesn’t matter ‘WS2812b’ as here is an element of unknown as again going to shift the control voltage to 24v dues to volt drop and then back down to 5v.

Or PCB ones.


I would of like to do the same with the control signal but can not find a 24v DC shifter that can cope above 10Khz so winging it here as never usually bother with LEDs but this should work as the control pulls little current and is switching (We will see).
The 800khz switching freq of the WS2812b control took me by surprise and not sure with capacitance and cable length how this will pan out, so its a suck it and see.
Audio wise the Max9814 is a preamp and its AC and not great to run huge lengths but generally from Pi to mic in a room we should be fine, just try to stay away from any other voltage lines as much as possible.
The wired bit from a single Pi is a cheaper hack than 2x Pi with one runing a wifi mic and only worried about long length runs.

I am going for a full 30ft run just to see how it performs and got some 4 core cable as we have.
MicL, MicR, 24vdc, 5vLedCtl & Gnd (screen).

I would kind of like to get the long run, but you also have audio out to the amp from the Pi and the usual cable to speaker and even if you don’t like, same gear we can use on the 2mic as the mini buck and level shifter a few $ and worth the experiment.
I am not even sure in a room each mic should have a ‘Pixel strip’ and that a zone just has a single central one, so maybe you might never do as I have done and it would always be more local.
Same gear can be used in different manners, so whatever we or you find best.

Thats the Mic 2 channel with AGC preamp to feed a Pluggable USB sound card.

The only stereo ADC reasonabilly priced sound card I know of and we will create a beamformer from that via software.
Also being USB unlike a Hat we are not limited to just one, so if you wanted to run more mics I am thinking that could well be possible as even a Pi3 could run approx x8?

Only thing I have struggled with is find a decent low cost enclosure with a transparent lid for a pixel strip, which might not even be used.
Which I got the 8x5x2cm one that I will never get arts&craft and wrap like smart speakers do but that was the idea :slight_smile:

So short run or long run those are the components for a beamforming 2 mic array.

Then the amp and choice is yours.
There are 2.1 amps that you can just run a single speaker if you wish and add another or sub woofer at a later stage.
From as cheap as.

This has BT5 which we will get to later but the combo Bt on the Pi always seems to have problems with simulatneous wifi/bt use when streaming, so Bt on board is also a bonus

Or as I say I am a bit of a snob and I do have one of these as the quality of the Wondom boards is top notch and also I can control mute & standby.

But this brings us to rating as often its at some theoretical ohmage like a 2ohm speaker with 10% THD at max volts in.
They say 50 watt but 30watt peak is more like as even if it will push you are never going to want to run at 10% (total harmonic distortion) and a rough guide is halve the output and you will be nearer real usability.

So you need a PSU and depending on wattage a DC PSU but for a 100watt 5/6amp 24v should be about $10.

Also if like me you don’t like the idea of multiple PSU’s and plugs everywhere we can also run the Pi via GPIO 5v via another buck but one with a tad more than 3amp.

If you do use a Buck than seperate PSU’s I can guarantee you will likely get a horrid Gnd loop of noise and you will need one of these.


Its just an impedence matching transformer that will get rid of any nasty sounding Gnd loop, that with seperate PSU’s you will not need.

Dunno why the links don’t graph but click to get a better view, shop around as I just pasted the 1st found that looked reasonabilly priced.
If you make a choice msg me and I will just check if I can see all is ok.

I have been meaning to do this for a while and have somehow managed to get a collection of amp boards, bookshelf speakers and subwoofers to choose from, but have a look around like 2.1 or just stereo or even a mono as its very easy to epoxy so hex pillars and mount on a rear of a speaker as when placed they are totally hidden but benefit not needing a fan as being open air and running off LV DC.

Just get 24v 50watt and try to get a 4 ohm or pair of bookshelf speakers and your ready to go. A long list but some are just duplicates as examples.
There is very little soldering to be done, but some headers are not soldered and prob a few cables but that is all, but a soldering iron likely needed.

Wow that’s an interesting bill of materials for my DIY and I will try to procure them locally in UK via pihut, pimoroni, sparkfun, eBay or whatever. As a last resort I will try to get them from Aliexpress but I know they will take quite a time if they are shipping all the way from China !

Also For the software side, could you please mind explaining a list of software’s along with GitHub repo’s for software AEC etc… ?

I have a pi zero 2W for satellite ! I have recently ordered an Pi 4 2gb and May wait to use it as satellite if required !

And an intel Celeron NUC that has home assistant and 8 GB Ram for Rhasspy base.

Also one more noob question ! I use Max2Play for music streaming that also gives access to full SSH to Pi ? Can we get the sound card and amplifier drivers compiled and recognised on Max2Play based on Raspberry Pi buster or do you suggest a plain vanilla Pi Buster image ??

There is no driver for a USB soundcard its just plug&play, haven’t a clue about Max2Play but will have a look when we get there.

Thank you one more thing I forgot to say before !

I have this existing Soundbar in living room ! Not a great one but not so bad either:

Its a 50 W stereo speaker with built in subwoofer , a Aux in, Optical & RCA In and of course a BT 5.0 !

So my next question is , if I am happy to use this Soundbar for now , can I skip the amplifier and bookshelf speakers ? Not that I don’t want to spend but just thinking if it’s possible to use the existing Soundbar I have !

Also I only have a Projector and not a TV , that sends the laser beam on to my projector screen . I have a fire TV stick connecting to HDMI 1 of projector and another Pi 4 with OSMC (Kodi) installed and connected to HDMI 2 of projector ! Both fire stick and Kodi connect to Soundbar using BT !

Table below the projector screen has

a. Another PI with Hifiberry Digi plus card (192 kHz / 24 bit , optical out ) with Max2Play installed and connected to the Soundbar through an optical cable ! The Pi basically acts a HIFi multi Room Music Streamer and Bluetooth Audio Receiver !

b. My Sound Bar and

c. Alexa Echo Show

Can I just install the new PI with usb sound card & mic (Rhasspy Satellite) and place in on the table beside echo and Soundbar ? Is that bad acoustics and placement for mic ?

Yep, just get the plugable USB as wired or local it can still be used and unlike a hat (2mic respeaker) you can use multiple and also just as a usb soundcard.
Just use the Aux In.

The Max9814 boards being wired just make it easier to mount and isolate than the 2mic due to being a hat it becomes all part of the pi.
Most people have the 2mic which is a linear board pointing at the ceiling because that is how it fits, but really the whole Pi should be vertical or use a 90’ connector.

Thats a 2mic hat 90’ it still becomes hard to isolate and Pi case don’t fit, so actually those Max9814 boards become a little easier as isolate those and the wires to the soundcard are flexible.
We are going to drop the pixel strip from the Mic, maybe still get one as they are cheap but need the logic level shifter.

Pi gpio is 3.3v whilst WS2812b is 5v and the above is supposedly bidirectional, so we can get it working and then worl out where ever it might go after, never tried so that bit for me is an experiment.

PS I have only ever seen these on ali-express but they make working with dupont jumpers when you need a common so much easier.
They are very cheap and handy for all sorts of gpio based connections and cuts down the solder jobs.

But basically as start its just to wire up x2 of those max9814 to a 3.5mm stereo jack to plug into the USB soundcard which is usually a screened pair Left/Right with screen being gnd, but also an extra 5v as the boards are preamps and powered.
Basically a DiY version of Array 2S Microphone - Andrea Communications which wil be better due the Max9814 and certainly not paying $45 for what is just a usb stereo ADC soundcard as the plugable one is every bit as good.

I haven’t drilled the holes and fitted the electrets in grommets but that is the test enclosure I am going to use and basically it will be just like the above andrea communication one but an active mic than passive that similary plugs into a stereo adc sound card aka Plugable.

1 Like


Once again thank you for your guidance. You have been really incredible and your sound engineering expertise is immensely helping me understand the best practices for setting up Rhasspy ! Who have thought that an expert like you would be so willing to share his expertise and guide us ! That’s the real benefit of open source culture and I am absolutely loving it ! Thank you again !

I am trying to understand a few electronics basics with your help here. Apologies if they are sounding so basic but I am not experienced in hardware so much compared to my Software knowledge !

  1. Why are we choosing electret mic instead of mems mic ? Is it because they have some kind of self noise cancellation from the back as compared to mems ?

  2. How does the AGC on Max9814 help. Is it preamplifier ? Do we need it to increase the strength of microphone signal ?

  3. How does Max9814 board with electret mic help towards overall noise cancellation alongside AEC or External noise cancellation ?

  4. Why do we need to isolate Max9814 with electret mic ? Are we isolating it from noises and inferences coming from Pi ?

  5. Does it mean can I use more than 2, say 4 Max9814 boards ? Does it help in far field voice detection or better direction or something else ?

  6. If I use Max9814 boards , does it mean I don’t need a 90’ connector on Pi anymore as we are not using a HAT !

  7. What’s the reason to prefer a usb sound card that has stereo mic input ? Does stereo mic input give us better voice capture features or something similar compared to mono ?

  8. If I find a USB Sound card with stereo input 96 kHz sampling rate (something like a creative sound blaster) can I prefer to use it ?

  9. I know I am sounding crazy on sampling rate numbers but if we use software AEC then anyway does it bring down the sample rate of music playing through the sound card Aux out to 16 kHz ? I saw that many hardware manufacturers such as those who make Remax 2 array USB with hardware dsp have only 16 kHZ. Does AEC limit the sampling rate to 16 kHz ?

I know that’s too many questions to ask ! I m only trying to learn some hardware basics from your experience ! If I set it up all correctly yes I will publish a DIY guide with due design credits to your knowledge !!!

Sound engineering expertise is purely referential as for some reason very little sound engineering is applied anywhere and my input is really rudimentary.

Electret is because of the Max9814 as its a sweet low noise preamp including selectable gain and AGC params.
There are mems avail but the preamp isn’t so sweet or has AGC.


Try them and see what you think as they are analogue and there is Speex AGC from the Alsa plugins.

I have selected the ones currently as the electret is onboard and its just less solder job and plug and play as my true preference is for these ones. Also being round they are extremely easy to mount in a grommet as with the mems avail those boards without even a mount hole are a pain.

As then you can choose the electret and swap from onboard omni-directional to one of the precursors to digital AEC of uni-directional noise cancelling electrets.

The above just a 1st copy and paste as far more cost effective ones can be found such as these.

Or Farnel or RS unidirectional with the best sensitivity you can find.

They are front and rear ported where the rear port cancels as its in antiphase and that is my real preference but for some sourcing and soldering can be daunting so just went for ready made.

Its pointless to sample anything above 16Khz for the input to ASR as all use 16Khz or lower (near all use 16Khz) as 32Khz will double the load, 48Khz treble it, in fact it could be expotential and not linear and far more.

Also thinking this thread should be just trying some of your questions and getting some consensus so would be great if you had similar and that plugable is great value and good quality.

Thanks @rolyan_trauts .

Yes I have been shopping around adding things you have suggested to the cart ! I also had few alternatives for few items which I will post shortly !


Could you please confirm if I am choosing the right hardware below to match our correct specifications / requirements ? I am a hardware noob at selecting matching specs, So trying to ensure I do not blast or burn anything !!! I will be ordering them today !

  1. 2x Max9814 with Electret and AGC
  1. MiniBuck converter for pixel Led & Max9814 boards
  1. Mini Buck converter for running Pi via GPIO 5v

Instead of this, can I use the one listed in point 2 above as it has a nice display ? However my concern is it has only 3A and a 5A is not available in pi hut !

  1. LED Pixel Strip
  1. Level shifter for WS2812b led pixel
  1. The Plugable USB Audio Adapter


Hard to find this brand elsewhere in UK and eBay just has so many duplicates ! Lucky I found one on Amazon UK !

  1. 2.1 Amplifier - I have decided to use an amplifier and bookshelf speakers for Rhasspy instead of use my existing Soundbar as it serves some other purpose !
  1. I just need to look for
  • 100watt 5/6amp 24v PSU
  • Bookshelf speakers
  • Ground Loop Noise Isolator
  • Audio Cables for Speakers

Arent Bookshelf speakers active and therefore connect to sound card / dac instead of Amp ?

  1. Stereo 3.5mm jack lead with pigtail end to connect Max9814 to sound card

Just wondering how I can connect 2X Max9814 to USB sound card. I have seen your post from below but it talks about connecting to only one Max9814 !

  1. Could you please let me know if any of these pi jumper cables are essentially useful for my Rhasspy DIY ?

Of course I can borrow a solder iron from a friend for very light soldering !

Yeah those look Ok and Pihut is a great shop and much of this are all Adafruit designs. If your happy with those prices then go for it.

I don’t usually like the adjustable bucks purely as its just more to think about and set, but I guess it does give you some tweaking room for the LED.
For a Pi GPIO power I would stick to 5v fixed as your jumpers should be short and at least no mistake can be made.

Again the boards I think are identical with the ‘I2C’ level shifter and dunno as have never tried but the freq should be able to cope with the 800khz Led control.

Plugable buy from amazon as have one on my desk that looks like one but definately isn’t purchased from ebay.

Use your echo or sound bar as a stock gap and you only need a Isolating transformer if using a buck from the Amp PSU to power both Pi and Amp.

The 3.5mm TRS Tip/Ring/Sleeve I forget L/R Tip/Ring or the other way Ring/Tip but doesn’t matter the Sleeve is the Gnd and that is the screen.
I have just the 3.5mm solder jack and some 4core + screen cable and about the only thing I can not find breakouts or terminals for.

Pi jumpers female/female always come in handy often I snip them in half and solder to cables.
Short/long female/female but tend to never need female/male male/male ones.

PS maybe also (you prob have already) an el cheapo single usb soundcard as you can also split the max9814 and on multiple cards but different pick up areas as a comparison. Again a couple $ and no imminent need as is an el cheapo lapel/car mic if you do an ebay search.
With your 3.5mm fly lead terminate with spliced female dupoints so you can swap between the 2.
If I remember rightly its tip& sleeve as the ring is something called ‘bias’

This presents the pinout and explains well as there was never really a standard, just most copying soundblaster cards.

Thank you for confirming! I had ordered all the above and a few of them will arrive within next week . I went with two buck converters one with the display and other with fixed 5V as you have suggested ! Still need to order some cables and speakers though.

I was just wondering how we are doing the speaker enclosure or if you suggest to use separate enclosure each for speakers, Pi & mics :microphone: for better isolation !

Does any of the below work as terminal block for 3.5 mm Jack ?

Also do I need these to avoid soldering ? I mean can’t the headers on pi gpio use DuPont cables ? Also correct me if I need connecting anything else on the Pi pin headers apart from below !

  • Buck connector for led pixels
  • Buck connector for powering Pi from GPIO pins
  • level shift connector
  • Connecting Max9814 to Pi GPIO voltage pins

Just looking if I can avoid soldering all together in the whole solution ?

Also I guess I was able to find screw terminal blocks for 3.5 mm Jack as I mentioned in previous post and am guessing I can avoid that soldering too ?

Not that I hate soldering but yes I prefer to avoid it if possible !

Sounds a great Idea ! Yes so I was thinking of :

  • Pluggable USb sound card hooked to 2 Max9814
  • Another old creative Sound Card I already have. Hook it up to 2 more Max 9814 or may be a lapel/car mic ! Or lapel mics any better without AGC and amplification of Max9814 ?
  • I can still route Audio only through the Sound card I want and enable AEC for that . But how can we do echo cancellation if voice is picked by mics attached to sound card 1 and audio was playing through sound card 2 ?

Its the stereo TRS not TRRS even though the 2nd ring of a TRRS that on mobiles and such is used for the mic it could be possible to use that as the 5v for the active mic we are creating.

If you have managed to borrow a soldering iron I wouldn’t bother as having no soldering is great but they are big unweildly lumps, so up to you but prob hack away with what you have got so you can make a decision later.

There is a big question with AEC & Beamforming on a Pi if the results are worth it, or creating a cheap simple mic(s) of close proximity as even a Pi02 can run more KWS than it has threads and just add another USB or split a stereo soundcard to x2 mics of different catchment areas.

So just get the Mic stuff plug in to any powered speaker you have and without doubt if you still have the enthusasm next steps will be Pixel strips and Active speaker systems.
About the only thing I am certain about is that those Max9814 active mics being a preamp with AGC are a good start as often the gain circuit in soundcards is lacking.

So before you spend on all the extras I am wondering after your experience if you think AEC / Beamforming is worth the effort and effective.
Each one impacts on another and sometimes effects can be subtle but accumalitive and then the comparison to a single simple mic in close proximity.
Much of the problems are due not due to latency as in length of time but the variable latency the scheduling on a application SoC will provide.
So after trying various combinations ist likely try it again with a custom kernel such as

Asking again the question is it worth it.

You being software orientated there are some repo’s such as alsa-plugins, voice-en-aec & even Rtprempt Kernel and more that likely should have community forks so community hacks and fixes can be applied.

The answer could well be that actually we might be trying obselete methods and targetted blind source seperation is the way to go, but more than that the latency with USB is a problem and the variable latency of an applications SoC means really the answer lies on a true RtOS all embedded hardware.

Even simpler things as testing does potting the enclosure of the mic help with rear rejection and resonance through surrounding materials and once more is it worthwhile bothering with…

Hi @rolyan_trauts ,

Thanks for the details. While I am awaiting the parts, I am still scratching my head on how to connect two mac9814s to a single UB sound card ! While connecting a single Max9814 to a usb sound card is pretty clear ! Could you please detail on how this can be done ?

The plugable is a stereo ADC Tip = Left, Ring = Right, Sleeve = Gnd so need 1 more cable with 5v and why I have solder 3.5mm jacks and a custom cable.

Sorry for being so noob ! I am still not clear ! Can you provide a clear detail of connections between Pi , 2 Max9814’s and stereo 3.5 mm Jack cable with terminal blocks ? That would really help !

I will just tell you how I have done it as the terminal ones are too bulky for me.

I have a 4 core + screen cable but not using a core. I have Tip = Left, Ring = Right, Sleeve = Gnd (screen) soldered on a standard 3.5mm TRS jack and a dupont going to 5v.
Other side Left goes to 1 Max9814 with common Gnd & 5V, right goes to the other with common Gnd & 5V.