So I'm moving rapidly into the uncomfortable position that I'm surrounded by audio modules and MCUs and I'm running out of excuses but to actually make something out of them!
The list so far, note, not all components will get used the first time or potentially ever.
Processing / routing / admin / UI.
STM32H743 - 450Mhz ARMm7 FPU/DSP core + I2S/SPDIF/SAI etc.
STM32H750 - 450Mhz ARMm7 FPU/DSP core + I2S/SPDIF/SAI etc.
2xSTM32F411s and 2xSTM32F401s - 80/100Mhz ARMm4 FPU/DSP cores.
ESP32 VROOM3DE - pegged for I2S - bluetooth Tx.
2 x Atmel/Xlinx USB UAC2.0 DSD ASync USB I2S bridge
2 x PCM9211 Optical/Coax I2S Bridges (One Rx one Tx)
1 x CSR8675 Bluetooth 5.0 - I2S Rx Bridge
1 x PCM2706 USB - I2S bridge (driver less!)
1 x WM8782 24/192 ADC
2 x Master clock decouplers
3 x PCM5102 DACs
2 x USB1.1 Opto / xformer Isolators.
On the software and prototyping side of things, most small parts are prototyped in isolation, with the exception of the master clock decouplers (resample chips) and the SPDIF interfaces, but I don't expect too many surprises there. A 2 channel mix down has been tested with gain controls.
I also have the EQ peak filters coded, but not tested, they were borrowed so they should work. Still need to code the high/low shelve filters.
So one or two more prototypes to test the EQ processing, performance testing the mix down with more streams and testing that the optical I/Os work.
The first rendition of this will probably be just the STM32H743 with a single optical IN, a single USB2.0 bridge as inputs. 2xPCM5102s selectable for output. Then I can add to it as I go.
While I'm am intending on sticking to 48K @ 16bit as my ears will not benefit from more, there is the concern around mixing a processing at that low a format. So I'm still humming and ha'ing about whether I should just double that up and use 24bit on a 32bit word at 96K. It really depends on how well my verbose, enterprise coding style holds up performance wise. I might create the prototype at 96K and find I just don't have the power without DSP optimizations or I might find the H7 processes things in a matter of a few dozen microseconds and asks for more. Prototyping, building, testing refining will be the way I find out. I have many complex options for spreading out the load should I need to.
The list so far, note, not all components will get used the first time or potentially ever.
Processing / routing / admin / UI.
STM32H743 - 450Mhz ARMm7 FPU/DSP core + I2S/SPDIF/SAI etc.
STM32H750 - 450Mhz ARMm7 FPU/DSP core + I2S/SPDIF/SAI etc.
2xSTM32F411s and 2xSTM32F401s - 80/100Mhz ARMm4 FPU/DSP cores.
ESP32 VROOM3DE - pegged for I2S - bluetooth Tx.
2 x Atmel/Xlinx USB UAC2.0 DSD ASync USB I2S bridge
2 x PCM9211 Optical/Coax I2S Bridges (One Rx one Tx)
1 x CSR8675 Bluetooth 5.0 - I2S Rx Bridge
1 x PCM2706 USB - I2S bridge (driver less!)
1 x WM8782 24/192 ADC
2 x Master clock decouplers
3 x PCM5102 DACs
2 x USB1.1 Opto / xformer Isolators.
On the software and prototyping side of things, most small parts are prototyped in isolation, with the exception of the master clock decouplers (resample chips) and the SPDIF interfaces, but I don't expect too many surprises there. A 2 channel mix down has been tested with gain controls.
I also have the EQ peak filters coded, but not tested, they were borrowed so they should work. Still need to code the high/low shelve filters.
So one or two more prototypes to test the EQ processing, performance testing the mix down with more streams and testing that the optical I/Os work.
The first rendition of this will probably be just the STM32H743 with a single optical IN, a single USB2.0 bridge as inputs. 2xPCM5102s selectable for output. Then I can add to it as I go.
While I'm am intending on sticking to 48K @ 16bit as my ears will not benefit from more, there is the concern around mixing a processing at that low a format. So I'm still humming and ha'ing about whether I should just double that up and use 24bit on a 32bit word at 96K. It really depends on how well my verbose, enterprise coding style holds up performance wise. I might create the prototype at 96K and find I just don't have the power without DSP optimizations or I might find the H7 processes things in a matter of a few dozen microseconds and asks for more. Prototyping, building, testing refining will be the way I find out. I have many complex options for spreading out the load should I need to.