Probably the cheapest, easiest with a touch of soldering and most effective mic / audio out is a cheap soundcard and a Max9814 board.
The Max9814 is a very cheap module with electret microphone onboard.
£1.60 with free p&p
Couple that with an equivalent USB soundcard
£1.90 with free p&p
You need to buy or find a 3.5mm jack lead and cut in half, so you can solder some Pi jumper wires to the Red/White & Gnd cables of the 3.5mm.
Again a £ or more should get you one on ebay and end up with x2 as you cut one in half.
The other half you can use to wire from the soundcard headphone to a amplifier such as.
You should end up with something like the above with a Pi Jumper wire going to 3.3v on the Pi, Gnd going to the copper screen of the 3.5mm Jack and what turned out to be the white cable on this sound card to the Max9814 out. One cable red or white will not be used as that is the bias voltage to feed a passive mic.
The mono sound cards are for passive mic so they have 1x signal in and 1x bias voltage to power a mic.
We don’t need the bias as we are using a active more advanced powered module in the Max9814.
If you check the Max9814 datasheet it has 2 stages of gain the selectable gain 1st stage and the agc gain 2nd stage.
Make a Pi jumper to go to 3.3v and that is cut and has 2x connectors one side as its going to be Vdd but also the VDD for the 40db selectable gain as the mono soundcards are extremely sensitive.
If you wire to a stereo soundcard that will be line-in (less sensitive) so have a double connector on the gnd going to the soundcard (gain select) instead.
The A/R pin can be left disconnected as that gives the biggest ratio for attack/release of the AGC.
This recording due to me forgetting how sensitive the max9814 is is set with gnd on the gain pin so its 50db and it was lazyness that left it that way as you can see in the above pic.
My sugesstion is use VDD and 40db overall gain as that is a lot of gain, but guess leaving the 3.3v as a single and having double gnd connectors for 50db is more tidy and not that big a thing.
Far @ approx 3m
In the cli
alsamixer F6 to select the soundcard and set the sound card to 0db gain.
The card also has AGC and there is software AGC that can also add gain that will likely add less noise than doing it above the 40db gain of the MAX9814.
I do prefer the directional electrets but those are really fiddly to solder and the omnidirectional comes with the board.
A couple £ you can get and effective microphone with decent far field for voice AI and don’t worry about the AGC noise ramping up on silence as this is of no bother for recognition unlike a broadcast setup would be.
What the AGC does is limit gain on clipping (overload) and just keeps raising gain to the max if no clipping or signal is found.
The attack to drop gain on clipping is fast .24ms and the release time to get to full gain is 1sec (960ms).
Prob really be better if slightly longer and double that and you can change the capacitor Ct but too fiddly to bother with the minimal diference.