Thanks for sharing Common Music! I haven't heard of it, it seems worth studying.
Speaking of use cases, I started this project with the idea of making a flexible parser for chord symbols. In the process of solving this problem, I wrote some general-purpose utilities, which eventually took form of this library. I'm making it public in the hope that it will be useful to others who use Lua for music and audio programming.
I haven't yet implemented the functions related to scales. I'm still thinking about their relation to chords and how to express it in the library's API.
I wrote something like this for fun years ago, although I don’t think I published it. I think my library had a scale defined by a root note and a set of steps. A chord could be constructed from a scale and a root note, with modifiers such as inversions and others like X7, Xb5#13, etc. The scale has the blueprint and the notes follow. You already have the primitives with notes and intervals.
Parsing chords from notes is more difficult, as are most parsing tasks.
Speaking of use cases, I started this project with the idea of making a flexible parser for chord symbols. In the process of solving this problem, I wrote some general-purpose utilities, which eventually took form of this library. I'm making it public in the hope that it will be useful to others who use Lua for music and audio programming.
I haven't yet implemented the functions related to scales. I'm still thinking about their relation to chords and how to express it in the library's API.
reply