Note On / Note Off
Два базовых сообщения MIDI: клавишу нажали, клавишу отпустили — и все неприятности, когда второе так и не приходит.
У Note On статус-байт 9n, где n — MIDI-канал, далее следуют номер ноты 0–127 и velocity. Note Off — это 8n с номером ноты и скоростью отпускания, значением, которое почти ни одна клавиатура не измеряет и почти ни один синтезатор не использует. Спецификация также позволяет считать Note On с velocity 0 равным Note Off. Это выглядит причудой, но на деле оптимизация: вся мелодия может обойтись одним статус-байтом благодаря running status.
Больше протокол не хранит никакого состояния. Потерялся Note Off — выдернули кабель, программа упала посреди ноты — и нота гудит, пока кто-нибудь не вмешается. Отсюда сообщение All Notes Off и кнопка «паника» в каждой DAW, которая на всякий случай шлёт Note Off на все 128 нот во всех 16 каналах.