Веб-сайты
Партитура — ноты и клавиши
Пишете ноты на нотном стане — и сразу видите на пианино, какие клавиши нажимаются. И наоборот: нажали клавишу — нота встала в лист.
Открыть проект
/play/partitura/index.html
Кликните по нотному стану или по клавише пианино — нота встанет в лист. «Играть» проигрывает набранное, подсвечивая ноту и клавишу.
Галерея
-
Во время игры подсвечивается и нота в листе, и клавиша на пианино — по ним видно, что именно сейчас звучит -
О проекте
Нотный редактор в браузере: скрипичный и басовый ключи, размеры от 2/4 до 6/8, тональности до пяти знаков, длительности от целой до шестнадцатой с точками и паузами. Ни музыкального шрифта, ни картинок — каждый знак строится кодом как путь SVG, поэтому весь лист масштабируется одной величиной, расстоянием между линейками. Готовое сохраняется проектом, уходит стандартным .mid или на печать; на сервер не отправляется ничего.
Что внутри
- Пианино связано со станом в обе стороны: клавиша добавляет ноту в лист, а наведение на стан подсвечивает клавишу ещё до клика — видно, что именно получится
- Нота хранится ступенью стана и знаком, а не номером MIDI: ми-бемоль и ре-диез звучат одинаково, но пишутся по-разному, и смена тональности не переписывает набранное
- Ключи, головки, штили, вязки и паузы нарисованы кодом: музыкальный шрифт весил бы сотни килобайт и тянулся с чужого домена, а системные его символы рисуют не в том масштабе
- Тактовые черты, вязки восьмых внутри доли и добавочные линейки считаются раскладкой — доли считать не нужно
- Экспорт в .mid написан побайтно, в двадцать строк: готовая библиотека весила бы больше всего остального проекта
- Расписание нот идёт по часам звуковой карты, а не по таймерам — иначе на слух ритм разъезжается