TiMidity++ with more optional soundfonts: freepats, fluidr3_gm, fluidr3_gs, opl3, timgm6mb.
TiMidity++ is a software synthesizer. It can play MIDI files by converting them into PCM waveform data; give it a MIDI data along with digital instrument data files, then it synthesizes them in real-time, and plays. It can not only play sounds, but also can save the generated waveforms into hard disks as various audio file formats.
TiMidity++ is a free software, distributed under the terms of GNU general public license.
example of converter:
timidity-fat.cli input.mid -OF -o out.FLAC -c $SNAP/etc/timidity/freepats.cfg
build details: https://github.com/Joker2770/timidity-fat