For your second thought, I'm not really sure I understand the point.
Since this is a library, it can power any application that needs to understand or generate these abstractions. So to expand on some options I gave above:
- You can create a program that generates a piece in the style of a Bach cantata for example, using this library as the backbone.
- If a teacher wanted to create a tool to educate kids about scales for example, it can use this library as a backbone.