I decided to split firmware to be able to eventually reuse the light fluidsynth. I think it should works on any Cortex-M4 with external memory (STM32F469 Discovery kit maybe ?).

Fluidsynth should works fine with 64 voices polyphony. I successfully tested Timidity soundfont and Merlin soundfont, but FluidR3 GM seems to fail. Note there is no reverb and no chorus effect yet. Fluidsynth original IIR filter as been removed too.

Firmware is highly inspired by ST examples, 32 bits sample are used instead of 16 bits available in the original STM32Cube examples. I also created an USB MIDI device class since there is no such class in STM32Cube.

Both software are available on github (see project links).

Next step would be maybe to design a custom board (STM32F7 + SDRAM + CODEC + SD card slot). Firmware improvement includes adding more filter and effects, and fixing some glitches. SD card reading seems to be a bottleneck with large soundfont and complex MIDI.