Recently I started looking at the STM32F7 to implement a high quality audio front end (AFE) for voice and music playback using the algorithms provided by ST and DSP Concepts / Audio Weaver. I've ordered and received the following kit parts (NUCLEO-F756ZG, X-NUCLEO-CCA02M2, X-NUCLEO-CCA01M1, P-NUCLEO-IOM01M1, STEVAL-MIC003V1).
The design is for a voice speaker consisting of 2-mic, 3-mic or 4-mic input.
Downlink audio will be provided by an ESP32 over I2S (MCLK, BCLK, WS, DO)
Uplink audio needs to be provided to the ESP32 over the same I2s (DI) from the STM32
Downlink audio must continue to a DAC (in our case, the ES8388) from the STM32 that requires MCLK be present. Essentially, the STM32 is man-in-the-middle to process audio.
PDM mics are connected directly to the STM32
Downlink audio will be from the ES8388 out through the amp to the mono speaker
We've come up with several arrangements, however I'm unsure of a few things with the STM32.
Can up to 4x microphones be supported (L&R PDM interleaved) on the STM32F745VEH6? This is the 100 pin count version, and we cannot exceed 8x8mm. 2x microphones is still okay, 3x or 4x is ideal.
Is Audio Weaver the best approach to implement the needed AFE firmware? Can this be combined with custom code? I'm also seriously considering paid algorithms with support for a faster implementation.
Which of the following 2 arrangements (or is another better) are best?