Music Programming for Java and JVM Languages
jfugue.org
jfugue.org
Also you might check out the midi standard itself; it was originally designed a long time ago, so it tends to be minimalist, efficient, and approachable, even with a few speed bumps of bit/byte finagling & packing, confusion about channels vs. tracks vs. instruments, etc. You can do quite a bit with average hardware.
OneLoneCoder's video on midi was something of an inspiration for the project, and it was an invaluable resource for my learning:
(It appears to be a bit old.)
In the meantime I found also this https://en.wikipedia.org/wiki/List_of_music_software
Ideally it would be nice to have a tabular format (is used frequently on wikipedia for comparison tables) where the different relevant dimensions can be sorted. But checking other awesome lists and wikipedia entries I realise this is a huge and somewhat loosely defined space: (audio vs music) (analysis vs production) etc and compiling a definitive list would require some serious research