i use the roland sound canvas va and the gravis ultrasound to play midi files
https://www.roland.com/de/products/sound_canvas_va/
https://www.roland.com/us/products/sound_canvas_va/
for ios there is a much cheaper version available
its a virtual version of a SC-8820, SC-88Pro, SC-88 and SC-55
should sound exactly the same as the real hardware
( heard that a drum kit from the va sc-55 was changed, but sc-8820 sounds the same when i compare the va version with the real sc 8820 on yt)
for mac and pc however its not standalone and you need a player like the free falconsoft midi player
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
http://falcosoft.hu/softwares.html#midiplayer
the player has build in support for the roland sc va to show correct instrument names (for e.g. for gs midi files)
the player can also be used as vst host to use roland sc va for old dos games
with dosbox or scumm
and sometimes i use a gravis ultrasound with pro patches lite 1.61 to playback midi files.
(to play modern midi files with karaoke tracks the old gravis dos midi player ( with the famous white and blue screen) needs to be started in verbose or debug mode or it will hang, crash or don't play at all,
but so far it plays all midi files.
you have to use a svn version of dosbox for stereo sound and set cpu cycles not to high and not to low to avoid sound stutter ( i use 30.000 cycles )
it will sound exactly the same like a real (brand new) ultrasound (without worn capacitors).
roland sound canvas may have "cleaner" instruments but gravis ultrasound has its own feeling.