Практика · MIDI

MIDI-клавиатура в браузере.

4 октября 2026 6 минут Механик

Подключаешь клавиатуру, открываешь вкладку, нажимаешь клавишу, и она играет. Без драйвера и без секвенсора. Как это устроено, где работает и что делать, если страница клавиатуру не видит.

Для этого есть стандарт Web MIDI. Страница не лезет в USB сама: она просит браузер, а браузер выступает посредником между ней и клавиатурой.

Как это устроено

Страница просит доступ к MIDI-устройствам, браузер спрашивает вас, и после разрешения каждое нажатие клавиши приходит на страницу как короткое сообщение. Всё остальное делает скрипт страницы: он решает, каким звуком отвечать.

Условия простые. Страница должна открываться по https. Браузер должен показать запрос на доступ: Chrome ввёл его для всех MIDI-страниц в версии 124. Большинство современных USB-клавиатур определяются сами и работают без драйвера.

Что идёт от клавиши до звука
клавиатуранажали до USBбез драйвера браузерWeb MIDI, разрешение страницасинтез звука звукколонки ЧТО ИДЁТ ПО ЭТОЙ ЦЕПОЧКЕ · одно сообщение «нота включена» 90 тип: нота включена · канал 1 3C нота: 60 = до 64 сила нажатия: 100 из 127 шестнадцатеричные числа: 90 = 144, 3C = 60, 64 = 100
Верх: путь сигнала. Низ: одно сообщение «нота включена», три байта. Первый говорит, что это за событие, второй называет ноту, третий несёт силу нажатия.

Что приходит на страницу

Номер 60 — это «до» первой октавы, или центральное «до». А вот как его называют, договорённости нет: в одних программах это C3, в других C4, в третьих C5. Если нота на странице звучит на октаву не там, где вы ждёте, дело в этой путанице, а не в клавиатуре. Проверьте, как называет её ваша программа.

Где это работает

По данным caniuse, Web MIDI поддерживают Chrome с 43-й версии, Edge с 79-й, Opera с 30-й и Firefox с 108-й. Яндекс Браузер и другие браузеры на движке Chromium работают так же, как Chrome. В Safari встроенной поддержки нет, на iPhone MIDI в браузере тоже не получить. На Android всё зависит от версии и сборки, надёжнее проверять на компьютере.

Если браузер не видит клавиатуру

  1. Проверьте кабель. Бывают кабели, которые только заряжают и данных не передают.
  2. Закройте программы, которые могли занять порт: FL Studio, Ableton, другие секвенсоры. Старые драйверы Windows отдают MIDI-порт одной программе за раз.
  3. Подключите клавиатуру до открытия страницы или перезагрузите вкладку.
  4. Посмотрите значок рядом с адресом. Если доступ к MIDI запрещён, сбросьте разрешение и нажмите кнопку подключения снова.
  5. Bluetooth-клавиатуры подключаются через операционную систему, а не через браузер. Сначала соедините её с компьютером, потом открывайте страницу.
Проверьте свою клавиатуру
Пианино онлайн: подключите MIDI-клавиатуру, играйте с педалью и силой нажатия, запишите дубль в файл .mid.
Пианино онлайн ›

Зачем это нужно, если есть секвенсор

Проверка. Новая клавиатура, чужая клавиатура, клавиатура после ремонта: пять минут на странице покажут, все ли клавиши отвечают, одинаково ли они чувствуют силу, работает ли педаль, не дребезжит ли колесо. Секвенсор для этого слишком тяжёлый.

Второй случай: набросок. Сыграли мысль, записали .mid, перенесли файл в FL Studio и подставили настоящий инструмент.

Частые вопросы

Нужны ли драйверы для MIDI-клавиатуры? +

Обычно нет. Большинство современных USB-клавиатур определяются как стандартные USB-MIDI-устройства и работают без драйвера. Драйверы нужны редким моделям с особыми функциями.

Работает ли Web MIDI в Firefox и Safari? +

В Firefox работает с версии 108. В Safari встроенной поддержки нет, на iPhone MIDI в браузере тоже недоступен.

Можно ли подключить клавиатуру по Bluetooth? +

Если клавиатура подключена к компьютеру через систему как Bluetooth MIDI-устройство, браузер увидит её так же, как USB. Подключать нужно через операционную систему, а не через страницу.

Видит ли браузер педаль и колесо высоты тона? +

Да. Педаль приходит как контроллер № 64, колесо как значение высоты тона. Страница должна их обрабатывать: в приборе «Пианино онлайн» педаль и колесо работают.

Безопасно ли давать странице доступ к MIDI? +

Страница получает сообщения от клавиатуры, пока открыта вкладка: ноты и контроллеры. Доступ к файлам и другим устройствам это не даёт. Разрешение можно в любой момент сбросить в настройках сайта.

Клавиатура знает 128 нот. Браузеру достаточно трёх байт, чтобы услышать одну.

Механик
Механик

Вопросы — в Telegram.