Библиотека для обнаружения событий клавиатуры миди-пианино в браузере с помощью JavaScript

Я хотел бы подключить клавиатуру миди-пианино к USB-порту моего компьютера и реагировать на ключевые события, отображая что-то в браузере.

Кто-нибудь знает библиотеку, которая позволит JavaScript взаимодействовать с событиями USB midi-клавиатуры в front-end/ браузере?

Что-то вроде:
Файл script.js, связанный с index.html:

$(document).on('midi-key-press', function(event) {
    alert('the key that you pressed was ' + event.whichKey);
});

Спасибо!

1 ответ

Браузеры Webkits имеют нативный API.

Лучше всего проверить спецификации в деталях: https://webaudio.github.io/web-midi-api/

О Firefox об этом спрашивали уже давно. Кажется, что поддержка идет.

https://bugzilla.mozilla.org/show_bug.cgi?id=836897

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

Надеюсь, вы найдете что-то интересное.

https://github.com/webdev23/midiKnobControl

Честно говоря, это очень мощный, но сложный в обращении API.

Для этого нужно хорошо знать протокол MIDI, хорошо знать ваши устройства MIDI и быть в курсе JavaScript. Также важно знать, как работает веб-аудио API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

изменить: Mozilla находится на нем: https://github.com/mozilla/standards-positions/issues/58

Другие вопросы по тегам