From memory I think I2S has 2 channels on the Pi but in each channel there is a high/low word for left/right.
The Pi 3.5mm mono is on one so the other channel has 2 but not 4 and even though other word is not used that channel is in use.
Lols didn’t make much sense but on one Pi I2S channel you have a left and right word serialised after each other and a left/right clock to select the left/right word.
The other I2S channel the mono 3.5mm is on and not sure if that is just down mixed to a single word or connector or whatever but its in use.
So apols but no point getting my 4mic linear out as its not going to work.
for this link you can find my test result. and what is annoying me is that the sound 'jumped ’ and the begin. I have to wait until it become normal and then talk in front of respeaker to do the test.
Wow that really weird as it works really well after the initial annoying skip!
With me it never worked that well but didn’t skip just sounded like sh**
I had to get a sound card arrangement where playback clock and capture clock where the same.
Doesn’t work on the hot new RaspiOS arm64 as they still haven’t added the kernel headers as that was what I was trying earlier.
But 32bit the adafruit solution is just a matter of 5 wires total to GPIO for both mics.
The SEL pins its GND one side & VCC the other with 2 mics and that selects the hi/lo word it transmits on.
Pulseaudio webrtc AEC is supposed to be able to cope with clock drift but when I paplay / parecord after adding it to /etc/pulse/default.pa the results are terrible.
parec when playing media at the same time and then playback after with paplay and its garbage, with all the souncards I have managed to get to work with EC.
Dunno what it is also done the tsched=0 thing to disable glitch free audio. (which is slightly humorous)