It's really a pity that in 2021 I still have no out of the box program for playing MIDIs. With a vanilla Windows 95 installation, more then 20 years ago, I could just play a damned MIDI. Sure, the sound quality was shitty, but at least it allows me to get a first glance on the damned file.
Here on my "vanilla" arch linux installation, VLC won't play the MIDI. And https://www.pianojacq.com/ (recommended within this HN page) with Chromium won't either!
Of course it's straightforward, install a few packages and you're done. I just was complaining about the poor adoption of MIDI. A standard linux distribution ships with a web browser, an image viewer, a music player, a PDF reader, but not a MIDI player. MIDI is just not very widespread, unfortunately.
Windows Media Player in Windows 10 still plays MIDI files. They've however removed the option to select a default MIDI device from the configuration GUI, so it'll always play on the built-in software wavetable synth unless you use a third party application to change the default.
For Linux, you can use aplaymidi from alsa-utils to play back on a MIDI port, or timidity for a software wavetable. I think most OS packaged versions of timidity ship with a basic soundfont so that you can listen straight away.
OS X, last I tried in maybe 2016 or 2015, had a built-in software synthesizer, and IIRC one of the built-in players used it for playback, maybe Quicktime.
I'd say support is pretty good considering how unlikely it seems that anyone should use SMAF as a consumption media format these days.
MIDI file playback support in macOS was removed in the 64-bit only transition in Catalina (since it relied on legacy QuickTime). If you opt to install Apple Garageband (free, preinstalled on new Macs I think) then that can play (and edit) them.
The OS still has a software synth and a high-level API for playing them, there's just no bundled app to interface with it.
Here on my "vanilla" arch linux installation, VLC won't play the MIDI. And https://www.pianojacq.com/ (recommended within this HN page) with Chromium won't either!