I probably won’t use this specific library but I think I will start writing my music this way, it would be interested to have open source music be beyond a midi, but the software used to construct it.
I have a friend who knows how to read sheet music and play piano. Which generally means you intuitively know quite, a bit about music theory since the piano any key followed by the next.
So to help her get started I showed her this project
https://musiclab.chromeexperiments.com/Song-Maker/song/6182211825041408
This is the song I made, and could be a good starting point. Basically it has two instruments, melody and percussion. The limitations make it easier to understand the key concepts before we introduce more complexity into the learning process.
If you don’t know music theory, its based around the concept of intervals, so a major chord is always [1,3,5] but we don’t speak python so its [0,2,4]. Some of these intervals sound awful, and some give you weird possibly unexplainable feelings. The trick to to staying in key is using intervals that start from the note you want to play in. Say C, and any interval that is considered good can be played if they land on any white key; that would be staying in the key of C.
I’m very interested in the programmatic music because it means you could use it in gamedev likely to great effect. And I’m not even really into games anymore.
I do have an idea for one that I think would be a lot of fun to play. And even better to win. Generative art or what Im just going to call it genart from now on, prompt genart music, or input genart ouput.
Combined with programmatic music, programmatic shapes originating from openSCAD. The idea is making alterations that seem significant to the player would be trivial to change in the code, and enable you to develop everything much faster.