Ok 2x $1.80 I2S Mems Mics + Pi 3.5mm
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 essentially all on the same clock of the Pi I2S.
EC supplied by the usual https://github.com/voice-engine/ec
I actually prefer this to the seeedvoice non usb voice cards as the driver is much better and doesn’t force a kernel freeze.
I does use DKMS but you can just install again on any kernel updates but I just absolutely hate the mess of the seeedvoice drivers.
Usb will obviously have better sound output via a codec than the Pi 3.5mm but mic wise they are pretty damn good and because they are wired much easier to fit and place correctly in an enclosure.
For the cable and a bit of soldering