Если в схеме встречается хотя бы один аккорд типа X7 или Xm7 и при этом отсутствуют maj7, то заменить все аккорды типа X на Xmaj7. ВЕРНО?
Нет. Если есть оба X7 и Xm7
Если "Emaj7 Emaj7 D A" то все ок
Нет, это трезвучия, там нет maj7. Если расширять по ладу, то будет E7 E7 D A. Только малый мажорный там не играется.
Поскольку модальных гармоний мало, я пока не учитывал модальностей кроме мажора и минора.
Мало где? В роке сплошная ладовость.
Полнее учесть похоже невозможно без введения тактовости, что сложно и для алгоритма и для пользователя.
И это ужасно, что пользователь не может записать по тактам. Лучше бы ему убица ап стену... Но, собственно для таких и нужен "определитель тональности". А вот анализатор гармонии и тд может быть интересен и для более продвинутых.
В ладовых гармониях гармонический ритм - один из определяющих факторов.