Ok 2x $1.80 I2S Mems Mics + Pi 3.5mm
https://www.aliexpress.com/item/4000320765322.html
The above is worth a read as " What is the difference between an omnidirectional microphone and a unidirectional microphone:" is pure comedy.
Really all the thunder goes to Adafruit as they have done all the work and looks like it supports all Pi models now.
I have a adafruit module on the way and will tell you if the audio quality is any better but the cheap aliexpress modules are at least adequate.
Adafruit document and provide the driver so if you can purchase from them.
All the wiring and install is in the brilliant adafruit tutorial.
My .asoundrc is as so.
pcm.!default {
type asym
playback.pcm "eci"
capture.pcm "eco"
}
pcm.eci {
type plug
slave {
format S16_LE
rate 16000
channels 1
pcm {
type file
slave.pcm null
file "/tmp/ec.input"
format "raw"
}
}
}
pcm.eco {
type plug
slave.pcm {
type fifo
infile "/tmp/ec.output"
rate 16000
format S16_LE
channels 2
}
}
pcm.dmic_hw {
type hw
card sndrpii2scard
channels 2
format S32_LE
}
pcm.dmic_sv {
type softvol
slave.pcm dmic_hw
control {
name "Boost Capture Volume"
card sndrpii2scard
}
min_dB -3.0
max_dB 30.0
}
pcm.cap {
type plug
slave {
pcm "dmic_sv"
channels 2
}
route_policy sum
}
Then in 3 cli windows for ec its start ec with
```` ./ec -i plug:cap -o plughw:1 -d 20`
then just
aplay file_example_WAV_10MG.wav
arecord -r16000 -fS16_LE -c1 ec-i2s.wav
So no soundcard needed just 2x I2S mics direct to GPIO & 3.5mm Pi output.
Was pretty sure this would work as they are essentiall all on the same clock of the Pi I2S.
For the cable and a bit of soldering