|
|
|
|
|
by linux2647
497 days ago
|
|
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. |
|