Решил тут вдруг научиться играть на пианино, но понял что без большого количества тренировок очень, блин, сложно читать ноты.
Что, собственно, меня не устраивает: нельзя просто посмотреть на ноту и понять какую клавишу надо нажимать. Нужно: 1. Поискать от интересующей ноты обратно до начала такта эту же ноту с диезом/бемолем/бекаром. Если такая нота есть, применить её сдвиг тона к текущей ноте. 2. Если такой ноты нет, посмотреть диезы-бемоли у этой же ноты при ключе. Если есть, соответственно применить. "Удобства" добавляет тот факт что при ключе ноты в верхней октаве, поэтому её ещё поискать надо.
Короче, это всё боль, страдание и унижение.
Предлагаю другое решение:
- Выбрасываем знаки при ключе
- Выбрасываем знаки при ноте
- Для повышения ноты на полтона вместо кружка ноты рисуем треугольник смотрящий углом вверх. Для понижения, соответственно, смотрящий вниз
- Заливка нот чёрным, хвостики и прочая хрень остаётся без изменений
Собственно, всё. Теперь вопрос - есть ли у этого подхода хоть какие-то объективные минусы по сравнению с диезами?
P.S. А ещё оказывается есть дубль-диезы, дубль-бемоли, бекар-диезы и бекар-бемоли. Но вроде бы в моей системе записи эта дичь тоже не нужна.
P.P.S. А кто-нибудь знает причину по которой клавиши разделены на черные/белые именно так как это сделано? Почему, например, не используется простое чередование белый-черный-белый-черный? Оно бы например сводило процесс транспонирования просто к переносу рук.
Есть мысль ещё более сильно отрефакторить ноты, с отказом от названий, а вместо этого оперируя понятиями "+N полутонов", но пока не до конца продумал формат записи. И понадобится переделать клавиатуру пианино.