Cool, sorry if I missed a few details, but here are a few comments:
Please make the scale degree max higher, a scale is not 7 notes it’s a mask on all possible frequencies from 20Hz-20kHz
It quickly gets awkward to have melodies spanning two octaves if you have to add the octave by hand. Maybe a max of 64 and a wrap that defaults to 6 and can be overwritten by the user???
And how about a few “funky” scales:
Major Pentatonic (0, 2, 4, 7, 9)
Minor Pentatonic (0, 3, 5, 7, 10)
Whole tone (0, 2, 4, 6, 8, 10)
Diminshed (0, 1, 3, 4, 6, 7, 9, 10)
Messian (0, 2, 3, 4, 6, 7, 8, 10, 11)
Nice!!!
Why stop at 7th chords? In fact, chords are just scales organized in “every other step” (what would normally be what we call a 3rd).
Suggestion: Drop N.CS and add a skip to N.S, default to 1 (or would 0 make more sense as “one step”?), changeable by the user. If the user doesn’t change skip we get scales, if the user sets skip to 2, we get “traditional chords in 3rds” if set to 3 or 4 we get quartal and quintal harmony, etc…
If you don’t feel like losing N.CS (might be simpler when the user just want’s to make a simple chord quickly), please add suggested skip to N.S, it’ll make it quite flexible…
And if you keep N.CS, making it possible to change the max of auto-wrapping degree we would have triads as well…