Hello,
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?