Веб-сайты

Партитура — ноты и клавиши

Пишете ноты на нотном стане — и сразу видите на пианино, какие клавиши нажимаются. И наоборот: нажали клавишу — нота встала в лист.

Год
2026
Роль
Автор проекта
  • HTML
  • CSS
  • JavaScript
  • SVG
  • Web Audio API

Открыть проект

/play/partitura/index.html

Кликните по нотному стану или по клавише пианино — нота встанет в лист. «Играть» проигрывает набранное, подсвечивая ноту и клавишу.

Галерея

О проекте

Нотный редактор в браузере: скрипичный и басовый ключи, размеры от 2/4 до 6/8, тональности до пяти знаков, длительности от целой до шестнадцатой с точками и паузами. Ни музыкального шрифта, ни картинок — каждый знак строится кодом как путь SVG, поэтому весь лист масштабируется одной величиной, расстоянием между линейками. Готовое сохраняется проектом, уходит стандартным .mid или на печать; на сервер не отправляется ничего.

Что внутри

  • Пианино связано со станом в обе стороны: клавиша добавляет ноту в лист, а наведение на стан подсвечивает клавишу ещё до клика — видно, что именно получится
  • Нота хранится ступенью стана и знаком, а не номером MIDI: ми-бемоль и ре-диез звучат одинаково, но пишутся по-разному, и смена тональности не переписывает набранное
  • Ключи, головки, штили, вязки и паузы нарисованы кодом: музыкальный шрифт весил бы сотни килобайт и тянулся с чужого домена, а системные его символы рисуют не в том масштабе
  • Тактовые черты, вязки восьмых внутри доли и добавочные линейки считаются раскладкой — доли считать не нужно
  • Экспорт в .mid написан побайтно, в двадцать строк: готовая библиотека весила бы больше всего остального проекта
  • Расписание нот идёт по часам звуковой карты, а не по таймерам — иначе на слух ритм разъезжается