As an (extremely) amateur musician I've had hours of fun with free soundfonts like these and the open source LMMS[0], which was nice and familiar to me since I'd played with pirated copies of FruityLoops (now FL Studio) as a teenager.
Good resource. Some of the piano SoundFonts here are available in https://chiptune.app (Yamaha Grand Lite 1.1, Chateau Grand Lite 1.0, Abbey Steinway D 1.9, Steinway Grand 1.0). Play a MIDI file, open Settings tab, find them at bottom of SoundFont menu. (You can also drag-and-drop SF2 files.)
For those who want to broaden their options and are not really constrained to only using SF2, the SFZ format has a similar purpose and there are many free instruments as they are easy to create (a text markup referring to the, typically WAV, audio files as is). Plogue sforzando [0] (freeware) is my favorite plugin for SFZ files. I learned about SFZ via an orchestra set called the Sonatina Symphonic Orchestra [1,2].
Sweet! I built a little plug-and-play digital MIDI controller and published it with the Salamander Grand Piano samples, so I could use any smart phone to have MIDI playback. I had always planned on grabbing more samples but I did everything from "scratch" (webaudio, but no audio lib), so I was just taking shots in the dark about what downsampling I could do while retaining quality (you can see, on the website, I missed the mark; the samples are degraded: [0]).
Hopefully, I can use these free sound fonts - at the very least - as a basis for sound sample quality. But it looks like I could probably just add sf2 and sfz support to my controller, which would open up all of these instruments for me. That's a pretty exciting goal!
[0] https://lmms.io/